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

GitOrigin-RevId: 26a5f8b66f710afec3aedb5e55d205095d6e0a7d
This commit is contained in:
Jakob Ackermann
2025-09-26 10:17:13 +02:00
committed by Copybot
parent 8669c7c964
commit 35724ee5dc
2 changed files with 25 additions and 7 deletions

View File

@@ -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'
}
}

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 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.