build docker image for multi arch #78

Merged
bence merged 1 commits from feature/multiarch-docker-image into develop 2023-09-26 23:48:29 +02:00
2 changed files with 24 additions and 4 deletions
Showing only changes of commit bdd62aadf5 - Show all commits

25
Jenkinsfile vendored
View File

@ -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 { steps {
script { script {
sh script: 'git clean -ffdx', label: 'Clean repository' sh script: 'git clean -ffdx', label: 'Clean repository'
env.VERSION = sh(script: 'git describe --tags --always --match "Release_*" HEAD', returnStdout: true).trim() 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/']) { 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 \ sh script: """docker buildx build \
--platform linux/amd64,linux/arm64 \
-f docker/Dockerfile \ -f docker/Dockerfile \
--target mapg_release \ --target mapg_release \
-t git.esoko.eu/esoko/mapguesser:${env.VERSION} \ -t git.esoko.eu/esoko/mapguesser:${env.VERSION} \

View File

@ -37,8 +37,7 @@ RUN apt update --fix-missing && apt install -y cron
WORKDIR /var/www/mapguesser WORKDIR /var/www/mapguesser
COPY ./ /var/www/mapguesser COPY ./ /var/www/mapguesser
RUN docker/scripts/release.sh &&\ RUN rm -rf /var/www/mapguesser/.git
rm -rf /var/www/mapguesser/.git
EXPOSE 80 EXPOSE 80
EXPOSE 8090 EXPOSE 8090