diff --git a/Jenkinsfile b/Jenkinsfile index 5edf8a2..0d6d056 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -62,15 +62,36 @@ pipeline { } } - stage('Release Docker image') { + stage('Prepare Docker release') { + environment { + COMPOSER_HOME="${WORKSPACE}/.composer" + npm_config_cache="${WORKSPACE}/.npm" + } + agent { + dockerfile { + filename 'docker/Dockerfile' + dir '.' + additionalBuildArgs '--target mapg_base' + reuseNode true + } + } steps { script { sh script: 'git clean -ffdx', label: 'Clean repository' - env.VERSION = sh(script: 'git describe --tags --always --match "Release_*" HEAD', returnStdout: true).trim() + sh script: 'docker/scripts/release.sh', label: 'Release script' + sh script: "rm -rf ${env.COMPOSER_HOME} ${env.npm_config_cache}" + } + } + } + stage('Release Docker image') { + steps { + script { withDockerRegistry([credentialsId: 'gitea-system-user', url: 'https://git.esoko.eu/']) { + sh script: 'docker buildx create --use --bootstrap --platform=linux/arm64,linux/amd64 --name multi-platform-builder' sh script: """docker buildx build \ + --platform linux/amd64,linux/arm64 \ -f docker/Dockerfile \ --target mapg_release \ -t git.esoko.eu/esoko/mapguesser:${env.VERSION} \