This commit is contained in:
Zimovskii Anatolii 2022-08-01 19:05:36 +03:00
parent 1965d9de66
commit 3ec0a2276c
Signed by: stam
GPG Key ID: 9911D9EF664EEE14
12 changed files with 396 additions and 0 deletions

View File

@ -0,0 +1,87 @@
FROM epicmorg/debian:bullseye
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# perforce default envs
##################################################################
ENV P4_VERSION=r16.2
ENV P4_CDN_URL=https://www.perforce.com/downloads/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 P4FTPD_DOWNLOAD_URL=${P4_CDN_URL}/p4ftpd
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 P4FTPD_BIN=/usr/bin/p4ftpd
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} \
${P4FTPD_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} \
${P4FTPD_DOWNLOAD_URL} \
${P4P_DOWNLOAD_URL} \
${PERFMERGE_DOWNLOAD_URL} \
${PERFSPLIT_DOWNLOAD_URL}
RUN chmod +x \
${P4_BIN} \
${P4BROKER_BIN} \
${P4D_BIN} \
${P4FTPD_BIN} \
${P4P_BIN} \
${PERFMERGE_BIN} \
${PERFSPLIT_BIN}
RUN echo "##################################################################" && \
${P4_BIN} -V && \
echo "##################################################################" && \
${P4BROKER_BIN} -V && \
echo "##################################################################" && \
${P4D_BIN} -V && \
echo "##################################################################" && \
${P4FTPD_BIN} -V && \
echo "##################################################################" && \
${P4P_BIN} -V && \
echo "##################################################################" && \
${PERFMERGE_BIN} -V && \
echo "##################################################################" && \
${PERFSPLIT_BIN} -V && \
echo "##################################################################"
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,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,6 @@
version: '3.9'
services:
app:
image: "epicmorg/p4p:r16.2"
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}

View File

@ -0,0 +1,87 @@
FROM epicmorg/debian:bullseye
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# perforce default envs
##################################################################
ENV P4_VERSION=r17.1
ENV P4_CDN_URL=https://www.perforce.com/downloads/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 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 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} \
${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} \
${P4P_DOWNLOAD_URL} \
${PERFMERGE_DOWNLOAD_URL} \
${PERFSPLIT_DOWNLOAD_URL}
RUN chmod +x \
${P4_BIN} \
${P4BROKER_BIN} \
${P4D_BIN} \
${P4DCTL_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 "##################################################################" && \
${P4P_BIN} -V && \
echo "##################################################################" && \
${PERFMERGE_BIN} -V && \
echo "##################################################################" && \
${PERFSPLIT_BIN} -V && \
echo "##################################################################"
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,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,6 @@
version: '3.9'
services:
app:
image: "epicmorg/p4p:r17.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}

View File

@ -0,0 +1,87 @@
FROM epicmorg/debian:bullseye
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
##################################################################
# perforce default envs
##################################################################
ENV P4_VERSION=r17.2
ENV P4_CDN_URL=https://www.perforce.com/downloads/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 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 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} \
${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} \
${P4P_DOWNLOAD_URL} \
${PERFMERGE_DOWNLOAD_URL} \
${PERFSPLIT_DOWNLOAD_URL}
RUN chmod +x \
${P4_BIN} \
${P4BROKER_BIN} \
${P4D_BIN} \
# ${P4DCTL_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 "##################################################################" && \
${P4P_BIN} -V && \
echo "##################################################################" && \
${PERFMERGE_BIN} -V && \
echo "##################################################################" && \
${PERFSPLIT_BIN} -V && \
echo "##################################################################"
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,19 @@
all: app
app:
make build
make deploy
make clean
build:
docker-compose build --compress --parallel --progress plain
deploy:
docker-compose push
clean:
docker container prune -f
docker image prune -f
docker network prune -f
docker volume prune -f
docker system prune -af

View File

@ -0,0 +1,6 @@
version: '3.9'
services:
app:
image: "epicmorg/p4p:r17.2"
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}