2025-11-13 10:26:43 +01:00

59 lines
1.1 KiB
Plaintext

pipeline {
agent any
environment {
service = 'backend-admin-server'
gitBranch = 'staging'
serviceExposedPort = '9090'
}
stages {
stage('Branch Check') {
when {
expression { env.BRANCH_NAME == gitBranch }
}
stages {
stage('Clean Workspace') {
steps {
deleteDir()
}
}
stage('Prepare Environment') {
steps {
script {
env.gitRepository = "ssh://git@git.gansejunge.com:1322/devops-project/${env.service}.git"
}
}
}
stage('Checkout Code') {
steps {
git branch: "${gitBranch}",
url: "${gitRepository}",
credentialsId: 'jenkins-ssh'
}
}
stage('Get Commit ID') {
steps {
script {
gitCommitID = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim()
}
}
}
stage('Build Docker Image') {
steps {
script {
def imageTag = "${service}:${gitCommitID}-${env.BUILD_NUMBER}"
def buildArgs = "--build-arg ARTIFACT_NAME=${service} --build-arg EXPOSED_PORT=${serviceExposedPort}"
sh "docker build -t ${imageTag} ${buildArgs} ."
}
}
}
}
}
}
}