From 0a1ec4f0236475aa4f9dacfa7810f90bcffffd3e Mon Sep 17 00:00:00 2001 From: Mitchell Henke Date: Fri, 9 Aug 2024 08:31:29 -0500 Subject: [PATCH 1/4] Improve Image Build Caching changelog: Internal, Continuous Integration, Improve Image Build Caching --- .gitlab-ci.yml | 2 +- dockerfiles/idp_prod.Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 07506a745ce..34ba206b8e6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -182,7 +182,7 @@ build-idp-image: --cache-repo="${ECR_REGISTRY}/identity-idp/idp/cache" --cache-ttl=168h --cache=true - --single-snapshot + --snapshot-mode=redo --compressed-caching=false --build-arg "http_proxy=${http_proxy}" --build-arg "https_proxy=${https_proxy}" diff --git a/dockerfiles/idp_prod.Dockerfile b/dockerfiles/idp_prod.Dockerfile index b006f4e3a2f..24e8bfcbcd7 100644 --- a/dockerfiles/idp_prod.Dockerfile +++ b/dockerfiles/idp_prod.Dockerfile @@ -136,7 +136,7 @@ RUN openssl req -x509 -sha256 -nodes -newkey rsa:2048 -days 1825 \ ######################################################################### # This is the main image. ######################################################################### -FROM ruby:3.3.1-slim +FROM ruby:3.3.1-slim as main # Set environment variables ENV RAILS_ROOT /app From 0f3ffe272ed8a934c04b966316afb10499264a2b Mon Sep 17 00:00:00 2001 From: Mitchell Henke Date: Fri, 9 Aug 2024 08:55:05 -0500 Subject: [PATCH 2/4] remove node modules --- dockerfiles/idp_prod.Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dockerfiles/idp_prod.Dockerfile b/dockerfiles/idp_prod.Dockerfile index 24e8bfcbcd7..66998df95c7 100644 --- a/dockerfiles/idp_prod.Dockerfile +++ b/dockerfiles/idp_prod.Dockerfile @@ -104,7 +104,7 @@ COPY public/ban-robots.txt $RAILS_ROOT/public/robots.txt COPY ./config/application.yml.default.prod $RAILS_ROOT/config/application.yml # Precompile assets -RUN bundle exec rake assets:precompile --trace +RUN bundle exec rake assets:precompile --trace && rm -r node_modules/ # get service_providers.yml and related files ARG SERVICE_PROVIDERS_KEY From f3afb3fd4987dc6afc23e581ffa2c8c7afc355ad Mon Sep 17 00:00:00 2001 From: Mitchell Henke Date: Fri, 9 Aug 2024 10:23:33 -0500 Subject: [PATCH 3/4] remove and ignore yarn cache --- dockerfiles/idp_prod.Dockerfile | 2 +- dockerfiles/idp_prod.Dockerfile.dockerignore | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dockerfiles/idp_prod.Dockerfile b/dockerfiles/idp_prod.Dockerfile index 66998df95c7..54f5c65decf 100644 --- a/dockerfiles/idp_prod.Dockerfile +++ b/dockerfiles/idp_prod.Dockerfile @@ -104,7 +104,7 @@ COPY public/ban-robots.txt $RAILS_ROOT/public/robots.txt COPY ./config/application.yml.default.prod $RAILS_ROOT/config/application.yml # Precompile assets -RUN bundle exec rake assets:precompile --trace && rm -r node_modules/ +RUN bundle exec rake assets:precompile --trace && rm -r node_modules/ && rm -r .yarn-cache/ # get service_providers.yml and related files ARG SERVICE_PROVIDERS_KEY diff --git a/dockerfiles/idp_prod.Dockerfile.dockerignore b/dockerfiles/idp_prod.Dockerfile.dockerignore index a354b35767f..6e2afa4cbb8 100644 --- a/dockerfiles/idp_prod.Dockerfile.dockerignore +++ b/dockerfiles/idp_prod.Dockerfile.dockerignore @@ -1,2 +1,2 @@ /app/node_modules - +/app/.yarn-cache From a0450e0d8857cbdfe2aa60ad1fc8c007bf86b57d Mon Sep 17 00:00:00 2001 From: Mitchell Henke Date: Fri, 9 Aug 2024 12:04:57 -0500 Subject: [PATCH 4/4] remove software-properties-common from main image --- dockerfiles/idp_prod.Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/dockerfiles/idp_prod.Dockerfile b/dockerfiles/idp_prod.Dockerfile index 54f5c65decf..4fb03e5db4e 100644 --- a/dockerfiles/idp_prod.Dockerfile +++ b/dockerfiles/idp_prod.Dockerfile @@ -179,7 +179,6 @@ RUN apt-get update -qq && \ libxml2-dev \ libxslt1-dev \ libcurl4-openssl-dev \ - software-properties-common \ libffi-dev \ libpq-dev \ unzip && \