This commit is contained in:
stam 2025-04-29 00:36:59 +03:00
parent 7917bf1ab2
commit 0e12aced90
Signed by: stam
GPG Key ID: 4F57E51F9C45F8CD
14 changed files with 243 additions and 19 deletions

View File

@ -20,7 +20,7 @@ jobs:
'r21.1', 'r21.2',
'r22.1',
'r23.1', 'r23.2',
'r24.2'
'r24.1', 'r24.2',
]
steps:

View File

@ -7,7 +7,7 @@ ARG DEBIAN_FRONTEND=noninteractive
##################################################################
RUN echo "Default folder for installation of customized soft is: ${EMG_LOCAL_BASE_DIR}"
ARG P4_VERSION=r23.2
ARG P4_VERSION=r24.2
ARG P4_BIN_DIR=${EMG_LOCAL_BASE_DIR}/p4/${P4_VERSION}/bin
ARG P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4

View File

@ -7,7 +7,7 @@ ARG DEBIAN_FRONTEND=noninteractive
##################################################################
RUN echo "Default folder for installation of customized soft is: ${EMG_LOCAL_BASE_DIR}"
ARG P4_VERSION=r23.2
ARG P4_VERSION=r24.2
ARG P4_BIN_DIR=${EMG_LOCAL_BASE_DIR}/p4/${P4_VERSION}/bin
ARG P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4

View File

@ -7,7 +7,7 @@ ARG DEBIAN_FRONTEND=noninteractive
##################################################################
RUN echo "Default folder for installation of customized soft is: ${EMG_LOCAL_BASE_DIR}"
ARG P4_VERSION=r23.2
ARG P4_VERSION=r24.2
ARG P4_BIN_DIR=${EMG_LOCAL_BASE_DIR}/p4/${P4_VERSION}/bin
ARG P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4

View File

@ -7,7 +7,7 @@ ARG DEBIAN_FRONTEND=noninteractive
##################################################################
RUN echo "Default folder for installation of customized soft is: ${EMG_LOCAL_BASE_DIR}"
ARG P4_VERSION=r23.2
ARG P4_VERSION=r24.2
ARG P4_BIN_DIR=${EMG_LOCAL_BASE_DIR}/p4/${P4_VERSION}/bin
ARG P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4

View File

@ -7,7 +7,7 @@ ARG DEBIAN_FRONTEND=noninteractive
##################################################################
RUN echo "Default folder for installation of customized soft is: ${EMG_LOCAL_BASE_DIR}"
ARG P4_VERSION=r23.2
ARG P4_VERSION=r24.2
ARG P4_BIN_DIR=${EMG_LOCAL_BASE_DIR}/p4/${P4_VERSION}/bin
ARG P4_DOWNLOAD_URL=https://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64/p4

View File

@ -0,0 +1,94 @@
FROM quay.io/epicmorg/debian:bookworm
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# perforce default envs
##################################################################
ENV P4_VERSION=r24.1
ENV P4_CDN_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64
ENV P4_DOWNLOAD_URL=${P4_CDN_URL}/p4
ENV P4BROKER_DOWNLOAD_URL=${P4_CDN_URL}/p4broker
ENV P4D_DOWNLOAD_URL=${P4_CDN_URL}/p4d
ENV P4DCTL_DOWNLOAD_URL=${P4_CDN_URL}/p4dctl
ENV P4MIGRATE_DOWNLOAD_URL=${P4_CDN_URL}/p4migrate
ENV P4MONPE_DOWNLOAD_URL=${P4_CDN_URL}/p4mon-prometheus-exporter
ENV P4P_DOWNLOAD_URL=${P4_CDN_URL}/p4p
ENV PERFMERGE_DOWNLOAD_URL=${P4_CDN_URL}/perfmerge
ENV PERFSPLIT_DOWNLOAD_URL=${P4_CDN_URL}/perfsplit
ENV P4DEBUG=
ENV P4PROOT=
ENV P4PCACHE=/perforce/cache
ENV P4LOG=/perforce/logs/p4p.log
ENV P4TARGET=
ENV P4PORT=1666
ENV P4ARGS=
ENV P4_BIN=/usr/bin/p4
ENV P4BROKER_BIN=/usr/bin/p4broker
ENV P4D_BIN=/usr/bin/p4d
ENV P4DCTL_BIN=/usr/bin/p4dctl
ENV P4MIGRATE_BIN=/usr/bin/p4migrate
ENV P4MONPE_BIN=/usr/bin/p4mon-prometheus-exporter
ENV P4P_BIN=/usr/bin/p4p
ENV PERFMERGE_BIN=/usr/bin/perfmerge
ENV PERFSPLIT_BIN=/usr/bin/perfsplit
##################################################################
# Install perforce binaries
##################################################################
RUN rm -rfv \
${P4_BIN} \
${P4BROKER_BIN} \
${P4D_BIN} \
${P4DCTL_BIN} \
${P4MIGRATE_BIN} \
${P4MONPE_BIN} \
${P4P_BIN} \
${PERFMERGE_BIN} \
${PERFSPLIT_BIN}
RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue -P /usr/bin \
${P4_DOWNLOAD_URL} \
${P4BROKER_DOWNLOAD_URL} \
${P4D_DOWNLOAD_URL} \
${P4DCTL_DOWNLOAD_URL} \
${P4MIGRATE_DOWNLOAD_URL} \
${P4MONPE_DOWNLOAD_URL} \
${P4P_DOWNLOAD_URL} \
${PERFMERGE_DOWNLOAD_URL} \
${PERFSPLIT_DOWNLOAD_URL}
RUN chmod +x \
${P4_BIN} \
${P4BROKER_BIN} \
${P4D_BIN} \
${P4DCTL_BIN} \
${P4MIGRATE_BIN} \
${P4MONPE_BIN} \
${P4P_BIN} \
${PERFMERGE_BIN} \
${PERFSPLIT_BIN}
# RUN echo "##################################################################" && \
# ${P4_BIN} -V && \
# echo "##################################################################" && \
# ${P4BROKER_BIN} -V && \
# echo "##################################################################" && \
# ${P4D_BIN} -V && \
# echo "##################################################################" && \
# ${P4DCTL_BIN} -V && \
# echo "##################################################################" && \
# ${P4MIGRATE_BIN} -V && \
# echo "##################################################################" && \
# ${P4MONPE_BIN} -V && \
# echo "##################################################################" && \
# ${P4P_BIN} -V && \
# echo "##################################################################" && \
# ${PERFMERGE_BIN} -V && \
# echo "##################################################################" && \
# ${PERFSPLIT_BIN} -V && \
# echo "##################################################################"
WORKDIR /perforce

View File

@ -0,0 +1,44 @@
all: app
app:
make pip
make build
make deploy
make clean
build:
make build-buildah
deploy:
make deploy-buildah
build-buildah:
buildah-wrapper --build
deploy-buildah:
buildah-wrapper --deploy
build-kaniko:
kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run
deploy-kaniko:
kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug
build-compose:
docker-compose build --compress --parallel --progress plain
deploy-compose:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af
buildah rm -a
buildah rmi -a
pip:
pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper
pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper

View File

@ -0,0 +1,5 @@
services:
app:
image: "quay.io/epicmorg/perforce:r24.1"
build:
context: .

View File

@ -5,7 +5,7 @@ ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# perforce default envs
##################################################################
ENV P4_VERSION=r23.1
ENV P4_VERSION=r24.2
ENV P4_CDN_URL=http://filehost.perforce.com/perforce/${P4_VERSION}/bin.linux26x86_64
ENV P4_DOWNLOAD_URL=${P4_CDN_URL}/p4
ENV P4BROKER_DOWNLOAD_URL=${P4_CDN_URL}/p4broker
@ -29,11 +29,11 @@ ENV P4_BIN=/usr/bin/p4
ENV P4BROKER_BIN=/usr/bin/p4broker
ENV P4D_BIN=/usr/bin/p4d
ENV P4DCTL_BIN=/usr/bin/p4dctl
#ENV P4MIGRATE_BIN=/usr/bin/p4migrate
ENV P4MIGRATE_BIN=/usr/bin/p4migrate
ENV P4MONPE_BIN=/usr/bin/p4mon-prometheus-exporter
ENV P4P_BIN=/usr/bin/p4p
#ENV PERFMERGE_BIN=/usr/bin/perfmerge
#ENV PERFSPLIT_BIN=/usr/bin/perfsplit
ENV PERFMERGE_BIN=/usr/bin/perfmerge
ENV PERFSPLIT_BIN=/usr/bin/perfsplit
##################################################################
# Install perforce binaries
@ -43,7 +43,7 @@ RUN rm -rfv \
${P4BROKER_BIN} \
${P4D_BIN} \
${P4DCTL_BIN} \
# ${P4MIGRATE_BIN} \
${P4MIGRATE_BIN} \
${P4MONPE_BIN} \
${P4P_BIN} \
${PERFMERGE_BIN} \
@ -54,22 +54,22 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue
${P4BROKER_DOWNLOAD_URL} \
${P4D_DOWNLOAD_URL} \
${P4DCTL_DOWNLOAD_URL} \
# ${P4MIGRATE_DOWNLOAD_URL} \
${P4MIGRATE_DOWNLOAD_URL} \
${P4MONPE_DOWNLOAD_URL} \
${P4P_DOWNLOAD_URL}
# ${PERFMERGE_DOWNLOAD_URL} \
# ${PERFSPLIT_DOWNLOAD_URL}
${P4P_DOWNLOAD_URL} \
${PERFMERGE_DOWNLOAD_URL} \
${PERFSPLIT_DOWNLOAD_URL}
RUN chmod +x \
${P4_BIN} \
${P4BROKER_BIN} \
${P4D_BIN} \
${P4DCTL_BIN} \
# ${P4MIGRATE_BIN} \
${P4MIGRATE_BIN} \
${P4MONPE_BIN} \
${P4P_BIN}
# ${PERFMERGE_BIN} \
# ${PERFSPLIT_BIN}
${P4P_BIN} \
${PERFMERGE_BIN} \
${PERFSPLIT_BIN}
# RUN echo "##################################################################" && \
# ${P4_BIN} -V && \

View File

@ -0,0 +1,12 @@
FROM quay.io/epicmorg/perforce:r24.1
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
VOLUME /perforce/cache
VOLUME /perforce/logs
WORKDIR /perforce
EXPOSE 1666
ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
CMD ["docker-entrypoint.sh"]

View File

@ -0,0 +1,44 @@
all: app
app:
make pip
make build
make deploy
make clean
build:
make build-buildah
deploy:
make deploy-buildah
build-buildah:
buildah-wrapper --build
deploy-buildah:
buildah-wrapper --deploy
build-kaniko:
kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:debug --dry-run
deploy-kaniko:
kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:debug
build-compose:
docker-compose build --compress --parallel --progress plain
deploy-compose:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af
buildah rm -a
buildah rmi -a
pip:
pip3 install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper
pip install --break-system-packages --no-cache-dir kaniko-wrapper buildah-wrapper

View File

@ -0,0 +1,5 @@
services:
app:
image: "quay.io/epicmorg/p4p:r24.1"
build:
context: .

View File

@ -0,0 +1,20 @@
#!/bin/bash
: ${P4ARGS:=}
: ${P4DEBUG:=}
: ${P4PROOT:=}
: ${P4PCACHE:=/perforce/cache}
: ${P4LOG:=/perforce/logs/p4p.log}
: ${P4TARGET:=}
: ${P4PORT:=1666}
if [[ -z "${P4TARGET}" ]]; then
echo "[p4p] FATAL: env P4TARGET is not set. Please, set it and try again. Shutting down."
exit 1
fi
echo "======================================================"
echo "[p4p] Starting up..."
echo "======================================================"
p4p -p ${P4PORT} -r ${P4CACHE} -t ${P4TARGET} -L ${P4LOG} ${P4ARGS}