Merge remote-tracking branch 'origin/master' into lash/deploy-on-host

This commit is contained in:
nolash 2021-07-12 12:28:27 +02:00
commit 6e7483be81
2 changed files with 73 additions and 59 deletions

View File

@ -13,11 +13,17 @@ ARG GITLAB_PYTHON_REGISTRY="https://gitlab.com/api/v4/projects/27624814/packages
# --force-reinstall \ # --force-reinstall \
# --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL \ # --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL \
# -r requirements.txt # -r requirements.txt
COPY *requirements.txt .
COPY . .
RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \ RUN --mount=type=cache,mode=0755,target=/root/.cache/pip \
pip install --index-url https://pypi.org/simple \ pip install --index-url https://pypi.org/simple \
--extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL . --extra-index-url $GITLAB_PYTHON_REGISTRY \
--extra-index-url $EXTRA_INDEX_URL \
-r requirements.txt \
-r services_requirements.txt \
-r admin_requirements.txt
COPY . .
RUN python setup.py install
ENV PYTHONPATH . ENV PYTHONPATH .
@ -35,30 +41,31 @@ COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/
#COPY util/liveness/health.sh /usr/local/bin/health.sh #COPY util/liveness/health.sh /usr/local/bin/health.sh
ENTRYPOINT [] ENTRYPOINT []
# --- RUNTIME --- ## ------------------ PRODUCTION CONTAINER ----------------------
FROM python:3.8.6-slim-buster as runtime #FROM python:3.8.6-slim-buster as prod
#
RUN apt-get update && \ #RUN apt-get update && \
apt install -y gnupg libpq-dev procps # apt install -y gnupg libpq-dev procps
#
WORKDIR /usr/src/cic-eth #WORKDIR /root
#
COPY --from=dev /usr/local/bin/ /usr/local/bin/ #COPY --from=dev /usr/local/bin/ /usr/local/bin/
COPY --from=dev /usr/local/lib/python3.8/site-packages/ \ #COPY --from=dev /usr/local/lib/python3.8/site-packages/ \
/usr/local/lib/python3.8/site-packages/ # /usr/local/lib/python3.8/site-packages/
#
COPY docker/entrypoints/* ./ #COPY docker/entrypoints/* ./
RUN chmod 755 *.sh #RUN chmod 755 *.sh
#
# # ini files in config directory defines the configurable parameters for the application ## # ini files in config directory defines the configurable parameters for the application
# # they can all be overridden by environment variables ## # they can all be overridden by environment variables
# # to generate a list of environment variables from configuration, use: confini-dump -z <dir> (executable provided by confini package) ## # to generate a list of environment variables from configuration, use: confini-dump -z <dir> (executable provided by confini package)
COPY config/ /usr/local/etc/cic-eth/ #COPY config/ /usr/local/etc/cic-eth/
COPY cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/ #COPY cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/
COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/ #COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/
#COPY scripts/ scripts/
# TODO this kind of code sharing across projects should be discouraged...can we make util a library? #
#COPY util/liveness/health.sh /usr/local/bin/health.sh ## TODO this kind of code sharing across projects should be discouraged...can we make util a library?
##COPY util/liveness/health.sh /usr/local/bin/health.sh
ENTRYPOINT [] #
#ENTRYPOINT []

View File

@ -14,10 +14,16 @@ ARG GITLAB_PYTHON_REGISTRY="https://gitlab.com/api/v4/projects/27624814/packages
# --force-reinstall \ # --force-reinstall \
# --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL \ # --extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL \
# -r requirements.txt # -r requirements.txt
COPY *requirements.txt .
COPY . .
RUN pip install --index-url https://pypi.org/simple \ RUN pip install --index-url https://pypi.org/simple \
--extra-index-url $GITLAB_PYTHON_REGISTRY --extra-index-url $EXTRA_INDEX_URL . --extra-index-url $GITLAB_PYTHON_REGISTRY \
--extra-index-url $EXTRA_INDEX_URL \
-r requirements.txt \
-r services_requirements.txt \
-r admin_requirements.txt
COPY . .
RUN python setup.py install
COPY docker/entrypoints/* ./ COPY docker/entrypoints/* ./
RUN chmod 755 *.sh RUN chmod 755 *.sh
@ -33,30 +39,31 @@ COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/
#COPY util/liveness/health.sh /usr/local/bin/health.sh #COPY util/liveness/health.sh /usr/local/bin/health.sh
ENTRYPOINT [] ENTRYPOINT []
# --- RUNTIME --- # ------------------ PRODUCTION CONTAINER ----------------------
FROM python:3.8.6-slim-buster as runtime #FROM python:3.8.6-slim-buster as prod
#
RUN apt-get update && \ #RUN apt-get update && \
apt install -y gnupg libpq-dev procps # apt install -y gnupg libpq-dev procps
#
WORKDIR /usr/src/cic-eth #WORKDIR /root
#
COPY --from=dev /usr/local/bin/ /usr/local/bin/ #COPY --from=dev /usr/local/bin/ /usr/local/bin/
COPY --from=dev /usr/local/lib/python3.8/site-packages/ \ #COPY --from=dev /usr/local/lib/python3.8/site-packages/ \
/usr/local/lib/python3.8/site-packages/ # /usr/local/lib/python3.8/site-packages/
#
COPY docker/entrypoints/* ./ #COPY docker/entrypoints/* ./
RUN chmod 755 *.sh #RUN chmod 755 *.sh
#
# # ini files in config directory defines the configurable parameters for the application ## # ini files in config directory defines the configurable parameters for the application
# # they can all be overridden by environment variables ## # they can all be overridden by environment variables
# # to generate a list of environment variables from configuration, use: confini-dump -z <dir> (executable provided by confini package) ## # to generate a list of environment variables from configuration, use: confini-dump -z <dir> (executable provided by confini package)
COPY config/ /usr/local/etc/cic-eth/ #COPY config/ /usr/local/etc/cic-eth/
COPY cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/ #COPY cic_eth/db/migrations/ /usr/local/share/cic-eth/alembic/
COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/ #COPY crypto_dev_signer_config/ /usr/local/etc/crypto-dev-signer/
#COPY scripts/ scripts/
# TODO this kind of code sharing across projects should be discouraged...can we make util a library? #
#COPY util/liveness/health.sh /usr/local/bin/health.sh ## TODO this kind of code sharing across projects should be discouraged...can we make util a library?
##COPY util/liveness/health.sh /usr/local/bin/health.sh
ENTRYPOINT [] #
#ENTRYPOINT []
#