Przeglądaj źródła

[server-pro] add caching to docker build (#27887)

GitOrigin-RevId: 26a5f8b66f710afec3aedb5e55d205095d6e0a7d
Jakob Ackermann 10 miesięcy temu
rodzic
commit
3b232ca419
2 zmienionych plików z 25 dodań i 7 usunięć
  1. 18 1
      server-ce/test/Jenkinsfile
  2. 7 6
      server-ce/test/Makefile

+ 18 - 1
server-ce/test/Jenkinsfile

@@ -37,7 +37,9 @@ pipeline {
     OVERLEAF_LATEST = "us-east1-docker.pkg.dev/overleaf-ops/ol-docker/overleaf-internal:main"
     OVERLEAF_TAG = "us-east1-docker.pkg.dev/overleaf-ops/ol-docker/overleaf-internal:${BRANCH_NAME}-${SHORT_SHA}_${BUILD_ID}"
     IMAGE_TAG_CE = "${OVERLEAF_TAG}"
-    IMAGE_TAG_PRO = "us-east1-docker.pkg.dev/overleaf-ops/ol-docker/pro:main"
+    IMAGE_TAG_PRO = "us-east1-docker.pkg.dev/overleaf-ops/ol-docker/pro:${BRANCH_NAME}-${SHORT_SHA}_${BUILD_ID}"
+    OVERLEAF_PRO_TAG_BRANCH = "us-east1-docker.pkg.dev/overleaf-ops/ol-docker/pro-internal:${BRANCH_NAME}"
+    OVERLEAF_PRO_TAG_LATEST = "us-east1-docker.pkg.dev/overleaf-ops/ol-docker/pro-internal:main"
   }
   stages {
     // Retries will use the same pipeline instance. Reset the vars.
@@ -138,6 +140,18 @@ pipeline {
             }
           }
         }
+        stage('Push Pro to internal') {
+          steps {
+            script {
+              waitUntil {
+                return job_server_pro_build_done
+              }
+            }
+            dir('server-pro') {
+              sh 'make push_branch'
+            }
+          }
+        }
         stage('Prefetch default') {
           steps {
             dir('server-ce/test') {
@@ -298,6 +312,9 @@ pipeline {
       dir('server-ce') {
         sh 'make clean'
       }
+      dir('server-pro') {
+        sh 'make clean'
+      }
       sh 'make clean_jenkins'
     }
   }

+ 7 - 6
server-ce/test/Makefile

@@ -13,6 +13,7 @@ export IMAGE_TAG_PRO ?= us-east1-docker.pkg.dev/overleaf-ops/ol-docker/pro:main
 export CYPRESS_SHARD ?=
 export COMPOSE_PROJECT_NAME ?= test
 export DOCKER_USER := $(shell id -u):$(shell id -g)
+IMAGE_TAG_PRO_BASE := $(shell echo $(IMAGE_TAG_PRO) | sed -E s/:.+//)
 
 test-e2e-native:
 	docker compose -f docker-compose.yml -f docker-compose.native.yml up --no-log-prefix sharelatex host-admin -d
@@ -75,18 +76,18 @@ prefetch_custom_texlive_2022:
 
 prefetch_custom: prefetch_old_4_2
 prefetch_old_4_2:
-	docker pull $(IMAGE_TAG_PRO:main=4.2)
+	docker pull $(IMAGE_TAG_PRO_BASE):4.2
 
 prefetch_custom: prefetch_old_5_0
 prefetch_old_5_0:
-	docker pull $(IMAGE_TAG_PRO:main=5.0.1-RC1)
-	docker pull $(IMAGE_TAG_PRO:main=5.0)
+	docker pull $(IMAGE_TAG_PRO_BASE):5.0.1-RC1
+	docker pull $(IMAGE_TAG_PRO_BASE):5.0
 
 prefetch_custom: build_hotfix_5_5_5
 build_hotfix_5_5_5:
-	docker pull $(IMAGE_TAG_PRO:main=5.5.4)
-	docker tag $(IMAGE_TAG_PRO:main=5.5.4) quay.io/sharelatex/sharelatex-pro:5.5.4
-	cd ../../server-pro/hotfix/5.5.5 && docker build -t $(IMAGE_TAG_PRO:main=5.5.5) .
+	docker pull $(IMAGE_TAG_PRO_BASE):5.5.4
+	docker tag $(IMAGE_TAG_PRO_BASE):5.5.4 quay.io/sharelatex/sharelatex-pro:5.5.4
+	cd ../../server-pro/hotfix/5.5.5 && docker build -t $(IMAGE_TAG_PRO_BASE):5.5.5 .
 
 # Google Cloud Build runs on a very ancient Docker version that does not support the subdir flag.
 # Use services -> mailtrap -> build -> context = https://github.com/dbck/docker-mailtrap.git#v1.5.0:build in docker-compose.yml eventually.