diff --git a/.github/workflows/epicmorg.base.images.perforce.yml b/.github/workflows/epicmorg.base.images.perforce.yml index bbf2ce967..d84531124 100644 --- a/.github/workflows/epicmorg.base.images.perforce.yml +++ b/.github/workflows/epicmorg.base.images.perforce.yml @@ -92,6 +92,9 @@ jobs: - name: "Build and Deploy Perfocre r23.2 Image:" run: cd linux/ecosystem/perforce/base/r23.2 && pwd && make build && make deploy + - name: "Build and Deploy Perfocre r24.2 Image:" + run: cd linux/ecosystem/perforce/base/r24.2 && pwd && make build && make deploy + ################################################################################## build-p4p-images: @@ -173,6 +176,9 @@ jobs: - name: "Build and Deploy Perfocre Proxy r23.2 Image:" run: cd linux/ecosystem/perforce/p4p/r23.2 && pwd && make build && make deploy + - name: "Build and Deploy Perfocre Proxy r24.2 Image:" + run: cd linux/ecosystem/perforce/p4p/r24.2 && pwd && make build && make deploy + ################################################################################## - name: Cleanup diff --git a/Makefile b/Makefile index 36b041db2..92cdf683c 100644 --- a/Makefile +++ b/Makefile @@ -1180,6 +1180,7 @@ ecosystem-perforce-base-images: cd `pwd`/linuxecosystem/perforce/base/r22.1 && pwd && make build && make deploy cd `pwd`/linuxecosystem/perforce/base/r23.1 && pwd && make build && make deploy cd `pwd`/linuxecosystem/perforce/base/r23.2 && pwd && make build && make deploy + cd `pwd`/linuxecosystem/perforce/base/r24.2 && pwd && make build && make deploy ecosystem-perforce-proxy-images: cd `pwd`/linuxecosystem/perforce/p4p/r16.2 && pwd && make build && make deploy @@ -1196,6 +1197,7 @@ ecosystem-perforce-proxy-images: cd `pwd`/linuxecosystem/perforce/p4p/r22.1 && pwd && make build && make deploy cd `pwd`/linuxecosystem/perforce/p4p/r23.1 && pwd && make build && make deploy cd `pwd`/linuxecosystem/perforce/p4p/r23.2 && pwd && make build && make deploy + cd `pwd`/linuxecosystem/perforce/p4p/r24.2 && pwd && make build && make deploy ecosystem-bitbucket-1-images: diff --git a/linux/ecosystem/perforce/base/r23.1/Dockerfile b/linux/ecosystem/perforce/base/r23.1/Dockerfile index 5325e0b9c..abbfe346a 100644 --- a/linux/ecosystem/perforce/base/r23.1/Dockerfile +++ b/linux/ecosystem/perforce/base/r23.1/Dockerfile @@ -58,7 +58,7 @@ RUN wget --no-check-certificate -nv --random-wait --retry-connrefused --continue ${P4MONPE_DOWNLOAD_URL} \ ${P4P_DOWNLOAD_URL} \ ${PERFMERGE_DOWNLOAD_URL} \ - ${PERFSPLIT_DOWNLOAD_URL} \ + ${PERFSPLIT_DOWNLOAD_URL} RUN chmod +x \ ${P4_BIN} \ diff --git a/linux/ecosystem/perforce/base/r24.2/Dockerfile b/linux/ecosystem/perforce/base/r24.2/Dockerfile new file mode 100644 index 000000000..769ed5395 --- /dev/null +++ b/linux/ecosystem/perforce/base/r24.2/Dockerfile @@ -0,0 +1,94 @@ +FROM epicmorg/debian:bookworm +LABEL maintainer="EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# perforce default envs +################################################################## +ENV P4_VERSION=r23.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 diff --git a/linux/ecosystem/perforce/base/r24.2/Makefile b/linux/ecosystem/perforce/base/r24.2/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/perforce/base/r24.2/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/perforce/base/r24.2/docker-compose.yml b/linux/ecosystem/perforce/base/r24.2/docker-compose.yml new file mode 100644 index 000000000..7ac6b8fbf --- /dev/null +++ b/linux/ecosystem/perforce/base/r24.2/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/perforce:r24.2" + build: + context: . \ No newline at end of file diff --git a/linux/ecosystem/perforce/p4p/r24.2/Dockerfile b/linux/ecosystem/perforce/p4p/r24.2/Dockerfile new file mode 100644 index 000000000..95d8fdb76 --- /dev/null +++ b/linux/ecosystem/perforce/p4p/r24.2/Dockerfile @@ -0,0 +1,12 @@ +FROM epicmorg/perforce:r24.2 +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"] diff --git a/linux/ecosystem/perforce/p4p/r24.2/Makefile b/linux/ecosystem/perforce/p4p/r24.2/Makefile new file mode 100644 index 000000000..06e855b50 --- /dev/null +++ b/linux/ecosystem/perforce/p4p/r24.2/Makefile @@ -0,0 +1,36 @@ +PIP_BREAK_SYSTEM_PACKAGES=1 + +all: app + +app: + make build + make deploy + make clean + +build: + kaniko-wrapper --version + +dry: + make dry-run + +test: + make dry-run + +dry-run: + kaniko-wrapper --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug --dry-run + +build-compose: + docker-compose build --compress --parallel --progress plain + +deploy: + kaniko-wrapper --deploy --kaniko-image gcr.io/kaniko-project/executor:v1.23.2-debug + +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 diff --git a/linux/ecosystem/perforce/p4p/r24.2/docker-compose.yml b/linux/ecosystem/perforce/p4p/r24.2/docker-compose.yml new file mode 100644 index 000000000..b6cc150fb --- /dev/null +++ b/linux/ecosystem/perforce/p4p/r24.2/docker-compose.yml @@ -0,0 +1,6 @@ +#version: '3' +services: + app: + image: "epicmorg/p4p:r24.2" + build: + context: . \ No newline at end of file diff --git a/linux/ecosystem/perforce/p4p/r24.2/docker-entrypoint.sh b/linux/ecosystem/perforce/p4p/r24.2/docker-entrypoint.sh new file mode 100755 index 000000000..1db87f256 --- /dev/null +++ b/linux/ecosystem/perforce/p4p/r24.2/docker-entrypoint.sh @@ -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}