yogastic/environment/infra/jenkins/build.app.image.Jenkinsfile

70 lines
2.1 KiB
Plaintext

pipeline {
agent any
environment {
DOCKER_IMAGE = 'yoga-app'
DOCKER_REGISTRY = 'docker.rschneider.hu/infra'
DOCKER_CREDENTIALS_ID = 'your-docker-credentials-id'
CURRENT_VERSION = ''
}
stages {
stage('Checkout') {
steps {
git branch: 'main', credentialsId: 'rschneider_gitea.rschneider.hu', poll: false, url: 'https://gitea.rschneider.hu/rschneider/yogastic.git'
}
}
stage('Build Docker image') {
steps {
sh """
cd environment/dev/docker/app/scripts
bash ./build.docker.build.sh
"""
}
}
stage('Commit & Push version image') {
steps {
script {
CURRENT_VERSION = readFile('environment/dev/docker/app/scripts/version.txt').trim()
env.CURRENT_VERSION = CURRENT_VERSION
}
withCredentials([
gitUsernamePassword(credentialsId: 'rschneider_gitea.rschneider.hu', gitToolName: 'Default')
]) {
sh """
cd environment/dev/docker/app/scripts
git config user.email "jenkins@rschneider.hu"
git config user.name "Jenkins"
git status
git add version.txt
git commit -m "[ci-skip] Update version to ${CURRENT_VERSION}"
git push --set-upstream origin main
"""
}
}
}
stage('Push Docker image') {
steps {
withCredentials([usernamePassword(credentialsId: 'rschneider-docker-reop1', passwordVariable: 'PASSWORD', usernameVariable: 'USERNAME')]) {
sh """
echo $PASSWORD | docker login -u $USERNAME --password-stdin ${DOCKER_REGISTRY}
cd environment/dev/docker/app/scripts
bash ./build.docker.push.sh
"""
}
}
}
}
post {
always {
cleanWs()
}
}
}