diff --git a/environment/infra/jenkins/build.app.image.Jenkinsfile b/environment/infra/jenkins/build.app.image.Jenkinsfile new file mode 100644 index 0000000..1557392 --- /dev/null +++ b/environment/infra/jenkins/build.app.image.Jenkinsfile @@ -0,0 +1,70 @@ +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() + } + } +} \ No newline at end of file