From cbf62d1c4a0aeefbb222da3d479725b36def693a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=91cze=20Bence?= Date: Thu, 28 Sep 2023 12:04:49 +0200 Subject: [PATCH] add docker release stage to pipeline --- Jenkinsfile | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/Jenkinsfile b/Jenkinsfile index 8a53b66..41211b4 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -61,5 +61,46 @@ pipeline { } } } + + stage('Prepare Docker release') { + environment { + COMPOSER_HOME="${WORKSPACE}/.composer" + npm_config_cache="${WORKSPACE}/.npm" + } + agent { + dockerfile { + filename 'docker/Dockerfile' + dir '.' + additionalBuildArgs '--target rvr_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 rvr_release \ + -t git.esoko.eu/esoko/rvr:${env.VERSION} \ + --push \ + .""", + label: 'Build Docker image' + } + } + } + } } }