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

GitOrigin-RevId: 26a5f8b66f710afec3aedb5e55d205095d6e0a7d
This commit is contained in:
Jakob Ackermann
2025-09-29 08:05:41 +00:00
committed by Copybot
parent 1b8a183430
commit 3b232ca419
2 changed files with 25 additions and 7 deletions
+18 -1
View File
@@ -37,7 +37,9 @@ pipeline {
OVERLEAF_LATEST = "us-east1-docker.pkg.dev/overleaf-ops/ol-docker/overleaf-internal:main" 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}" 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_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 { stages {
// Retries will use the same pipeline instance. Reset the vars. // 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') { stage('Prefetch default') {
steps { steps {
dir('server-ce/test') { dir('server-ce/test') {
@@ -298,6 +312,9 @@ pipeline {
dir('server-ce') { dir('server-ce') {
sh 'make clean' sh 'make clean'
} }
dir('server-pro') {
sh 'make clean'
}
sh 'make clean_jenkins' sh 'make clean_jenkins'
} }
} }
+7 -6
View File
@@ -13,6 +13,7 @@ export IMAGE_TAG_PRO ?= us-east1-docker.pkg.dev/overleaf-ops/ol-docker/pro:main
export CYPRESS_SHARD ?= export CYPRESS_SHARD ?=
export COMPOSE_PROJECT_NAME ?= test export COMPOSE_PROJECT_NAME ?= test
export DOCKER_USER := $(shell id -u):$(shell id -g) export DOCKER_USER := $(shell id -u):$(shell id -g)
IMAGE_TAG_PRO_BASE := $(shell echo $(IMAGE_TAG_PRO) | sed -E s/:.+//)
test-e2e-native: test-e2e-native:
docker compose -f docker-compose.yml -f docker-compose.native.yml up --no-log-prefix sharelatex host-admin -d 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_custom: prefetch_old_4_2
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_custom: prefetch_old_5_0
prefetch_old_5_0: prefetch_old_5_0:
docker pull $(IMAGE_TAG_PRO:main=5.0.1-RC1) docker pull $(IMAGE_TAG_PRO_BASE):5.0.1-RC1
docker pull $(IMAGE_TAG_PRO:main=5.0) docker pull $(IMAGE_TAG_PRO_BASE):5.0
prefetch_custom: build_hotfix_5_5_5 prefetch_custom: build_hotfix_5_5_5
build_hotfix_5_5_5: build_hotfix_5_5_5:
docker pull $(IMAGE_TAG_PRO:main=5.5.4) docker pull $(IMAGE_TAG_PRO_BASE):5.5.4
docker tag $(IMAGE_TAG_PRO:main=5.5.4) quay.io/sharelatex/sharelatex-pro: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:main=5.5.5) . 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. # 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. # Use services -> mailtrap -> build -> context = https://github.com/dbck/docker-mailtrap.git#v1.5.0:build in docker-compose.yml eventually.