60 lines
1.1 KiB
Plaintext
60 lines
1.1 KiB
Plaintext
pipeline {
|
|
agent any
|
|
|
|
environment {
|
|
service = 'backend-visits-service'
|
|
gitBranch = 'staging'
|
|
serviceExposedPort = '8081'
|
|
}
|
|
|
|
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} ."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|