From da7e82d3abac20a3c2eb7dd4074719a5b809c507 Mon Sep 17 00:00:00 2001 From: Florian Date: Thu, 13 Nov 2025 10:26:43 +0100 Subject: [PATCH] first commit --- README.md | 0 .../backend-admin-server/main.Jenkinsfile | 58 ++++++++++++++++++ .../backend-admin-server/staging.Jenkinsfile | 58 ++++++++++++++++++ pipeline/backend-api-gateway/main.Jenkinsfile | 58 ++++++++++++++++++ .../backend-api-gateway/staging.Jenkinsfile | 58 ++++++++++++++++++ .../main.Jenkinsfile | 59 +++++++++++++++++++ .../staging.Jenkinsfile | 59 +++++++++++++++++++ .../backend-discovery-server/main.Jenkinsfile | 58 ++++++++++++++++++ .../staging.Jenkinsfile | 58 ++++++++++++++++++ .../backend-genai-service/main.Jenkinsfile | 59 +++++++++++++++++++ .../backend-genai-service/staging.Jenkinsfile | 59 +++++++++++++++++++ .../main.Jenkinsfile | 58 ++++++++++++++++++ .../staging.Jenkinsfile | 58 ++++++++++++++++++ .../backend-vets-service/main.Jenkinsfile | 58 ++++++++++++++++++ .../backend-vets-service/staging.Jenkinsfile | 58 ++++++++++++++++++ .../backend-visits-service/main.Jenkinsfile | 59 +++++++++++++++++++ .../staging.Jenkinsfile | 59 +++++++++++++++++++ 17 files changed, 934 insertions(+) create mode 100644 README.md create mode 100644 pipeline/backend-admin-server/main.Jenkinsfile create mode 100644 pipeline/backend-admin-server/staging.Jenkinsfile create mode 100644 pipeline/backend-api-gateway/main.Jenkinsfile create mode 100644 pipeline/backend-api-gateway/staging.Jenkinsfile create mode 100644 pipeline/backend-customers-service/main.Jenkinsfile create mode 100644 pipeline/backend-customers-service/staging.Jenkinsfile create mode 100644 pipeline/backend-discovery-server/main.Jenkinsfile create mode 100644 pipeline/backend-discovery-server/staging.Jenkinsfile create mode 100644 pipeline/backend-genai-service/main.Jenkinsfile create mode 100644 pipeline/backend-genai-service/staging.Jenkinsfile create mode 100644 pipeline/backend-petclinic-config-server/main.Jenkinsfile create mode 100644 pipeline/backend-petclinic-config-server/staging.Jenkinsfile create mode 100644 pipeline/backend-vets-service/main.Jenkinsfile create mode 100644 pipeline/backend-vets-service/staging.Jenkinsfile create mode 100644 pipeline/backend-visits-service/main.Jenkinsfile create mode 100644 pipeline/backend-visits-service/staging.Jenkinsfile diff --git a/README.md b/README.md new file mode 100644 index 0000000..e69de29 diff --git a/pipeline/backend-admin-server/main.Jenkinsfile b/pipeline/backend-admin-server/main.Jenkinsfile new file mode 100644 index 0000000..17f4352 --- /dev/null +++ b/pipeline/backend-admin-server/main.Jenkinsfile @@ -0,0 +1,58 @@ +pipeline { + agent any + + environment { + service = 'backend-admin-server' + gitBranch = 'main' + 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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-admin-server/staging.Jenkinsfile b/pipeline/backend-admin-server/staging.Jenkinsfile new file mode 100644 index 0000000..1bdfe5a --- /dev/null +++ b/pipeline/backend-admin-server/staging.Jenkinsfile @@ -0,0 +1,58 @@ +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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-api-gateway/main.Jenkinsfile b/pipeline/backend-api-gateway/main.Jenkinsfile new file mode 100644 index 0000000..4d5cd5b --- /dev/null +++ b/pipeline/backend-api-gateway/main.Jenkinsfile @@ -0,0 +1,58 @@ +pipeline { + agent any + + environment { + service = 'backend-api-gateway' + gitBranch = 'main' + 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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-api-gateway/staging.Jenkinsfile b/pipeline/backend-api-gateway/staging.Jenkinsfile new file mode 100644 index 0000000..790e2cc --- /dev/null +++ b/pipeline/backend-api-gateway/staging.Jenkinsfile @@ -0,0 +1,58 @@ +pipeline { + agent any + + environment { + service = 'backend-api-gateway' + 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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-customers-service/main.Jenkinsfile b/pipeline/backend-customers-service/main.Jenkinsfile new file mode 100644 index 0000000..3064092 --- /dev/null +++ b/pipeline/backend-customers-service/main.Jenkinsfile @@ -0,0 +1,59 @@ +pipeline { + agent any + + environment { + service = 'backend-customers-service' + gitBranch = 'main' + 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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-customers-service/staging.Jenkinsfile b/pipeline/backend-customers-service/staging.Jenkinsfile new file mode 100644 index 0000000..fff7e0c --- /dev/null +++ b/pipeline/backend-customers-service/staging.Jenkinsfile @@ -0,0 +1,59 @@ +pipeline { + agent any + + environment { + service = 'backend-customers-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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-discovery-server/main.Jenkinsfile b/pipeline/backend-discovery-server/main.Jenkinsfile new file mode 100644 index 0000000..1125ae6 --- /dev/null +++ b/pipeline/backend-discovery-server/main.Jenkinsfile @@ -0,0 +1,58 @@ +pipeline { + agent any + + environment { + service = 'backend-discovery-server' + gitBranch = 'main' + serviceExposedPort = '8761' + } + + 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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-discovery-server/staging.Jenkinsfile b/pipeline/backend-discovery-server/staging.Jenkinsfile new file mode 100644 index 0000000..864e028 --- /dev/null +++ b/pipeline/backend-discovery-server/staging.Jenkinsfile @@ -0,0 +1,58 @@ +pipeline { + agent any + + environment { + service = 'backend-discovery-server' + gitBranch = 'staging' + serviceExposedPort = '8761' + } + + 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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-genai-service/main.Jenkinsfile b/pipeline/backend-genai-service/main.Jenkinsfile new file mode 100644 index 0000000..0cd6dde --- /dev/null +++ b/pipeline/backend-genai-service/main.Jenkinsfile @@ -0,0 +1,59 @@ +pipeline { + agent any + + environment { + service = 'backend-genai-service' + gitBranch = 'main' + 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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-genai-service/staging.Jenkinsfile b/pipeline/backend-genai-service/staging.Jenkinsfile new file mode 100644 index 0000000..a993c03 --- /dev/null +++ b/pipeline/backend-genai-service/staging.Jenkinsfile @@ -0,0 +1,59 @@ +pipeline { + agent any + + environment { + service = 'backend-genai-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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-petclinic-config-server/main.Jenkinsfile b/pipeline/backend-petclinic-config-server/main.Jenkinsfile new file mode 100644 index 0000000..1bd4a30 --- /dev/null +++ b/pipeline/backend-petclinic-config-server/main.Jenkinsfile @@ -0,0 +1,58 @@ +pipeline { + agent any + + environment { + service = 'backend-petclinic-config-server' + gitBranch = 'main' + serviceExposedPort = '8888' + } + + 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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-petclinic-config-server/staging.Jenkinsfile b/pipeline/backend-petclinic-config-server/staging.Jenkinsfile new file mode 100644 index 0000000..9560b6f --- /dev/null +++ b/pipeline/backend-petclinic-config-server/staging.Jenkinsfile @@ -0,0 +1,58 @@ +pipeline { + agent any + + environment { + service = 'backend-petclinic-config-server' + gitBranch = 'staging' + serviceExposedPort = '8888' + } + + 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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-vets-service/main.Jenkinsfile b/pipeline/backend-vets-service/main.Jenkinsfile new file mode 100644 index 0000000..4f8cdf7 --- /dev/null +++ b/pipeline/backend-vets-service/main.Jenkinsfile @@ -0,0 +1,58 @@ +pipeline { + agent any + + environment { + service = 'backend-vets-service' + gitBranch = 'main' + 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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-vets-service/staging.Jenkinsfile b/pipeline/backend-vets-service/staging.Jenkinsfile new file mode 100644 index 0000000..a834226 --- /dev/null +++ b/pipeline/backend-vets-service/staging.Jenkinsfile @@ -0,0 +1,58 @@ +pipeline { + agent any + + environment { + service = 'backend-vets-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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-visits-service/main.Jenkinsfile b/pipeline/backend-visits-service/main.Jenkinsfile new file mode 100644 index 0000000..21c686b --- /dev/null +++ b/pipeline/backend-visits-service/main.Jenkinsfile @@ -0,0 +1,59 @@ +pipeline { + agent any + + environment { + service = 'backend-visits-service' + gitBranch = 'main' + 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} ." + } + } + } + } + } + } +} diff --git a/pipeline/backend-visits-service/staging.Jenkinsfile b/pipeline/backend-visits-service/staging.Jenkinsfile new file mode 100644 index 0000000..d3f6657 --- /dev/null +++ b/pipeline/backend-visits-service/staging.Jenkinsfile @@ -0,0 +1,59 @@ +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} ." + } + } + } + } + } + } +}