Created generic Java pipeline that loads necessary variables from environment

This commit is contained in:
Florian 2025-11-17 10:13:52 +01:00
parent da7e82d3ab
commit 6df5269d6b
33 changed files with 107 additions and 934 deletions

View File

@ -1,58 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,58 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,58 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,58 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,59 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,59 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,58 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,58 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,59 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,59 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,58 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,58 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,58 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,58 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,59 +0,0 @@
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} ."
}
}
}
}
}
}
}

View File

@ -1,59 +0,0 @@
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} ."
}
}
}
}
}
}
}

75
pipeline/java/Jenkinsfile vendored Normal file
View File

@ -0,0 +1,75 @@
pipeline {
agent any
stages {
stage('Cloning configuration repository'){
steps {
dir('ops-jenkins-config'){
git branch: 'main',
url: 'ssh://git@git.gansejunge.com:1322/devops-project/ops-jenkins-config.git',
credentialsId: 'jenkins-ssh'
}
}
}
stage('Load configuration files') {
steps {
script {
def parts = env.JOB_NAME.split('-')
env.service = parts[0..-2].join('-')
env.stage = parts[-1]
def configFile = "ops-jenkins-config/values/${env.service}/${env.stage}.env"
def props = loadEnvFile(configFile)
props.each { k, v ->
env."${k}" = v
}
env.gitRepository = "ssh://git@git.gansejunge.com:1322/devops-project/${env.service}.git"
}
}
stage('Clean Workspace') {
steps { deleteDir() }
}
stage('Checkout Code') {
steps {
git branch: "${env.gitBranch}",
url: "${env.gitRepository}",
credentialsId: 'jenkins-ssh'
}
}
stage('Get Commit ID') {
steps {
script {
env.gitCommitID = sh(script: 'git rev-parse --short HEAD', returnStdout: true).trim()
}
}
}
stage('Build Docker Image') {
steps {
script {
def imageTag = "${env.service}:${gitCommitID}-${env.BUILD_NUMBER}"
def buildArgs = "--build-arg ARTIFACT_NAME=${env.service} --build-arg EXPOSED_PORT=${env.serviceExposedPort}"
sh "docker build -t ${imageTag} ${buildArgs} ."
}
}
}
}
}
def loadEnvFile(path) {
def map = [:]
def content = readFile(path)
content.split('\n').each { line ->
line = line.trim()
if (!line || line.startsWith('#')) return
def parts = line.split('=', 2)
if (parts.size() == 2) {
map[parts[0].trim()] = parts[1].trim()
}
}
return map
}

View File

@ -0,0 +1,2 @@
gitBranch = 'main'
serviceExposedPort = '9090'

View File

@ -0,0 +1,2 @@
gitBranch = 'staging'
serviceExposedPort = '9090'

View File

@ -0,0 +1,2 @@
gitBranch = 'main'
serviceExposedPort = '8081'

View File

@ -0,0 +1,2 @@
gitBranch = 'staging'
serviceExposedPort = '8081'

View File

@ -0,0 +1,2 @@
gitBranch = 'main'
serviceExposedPort = '8081'

View File

@ -0,0 +1,2 @@
gitBranch = 'staging'
serviceExposedPort = '8081'

View File

@ -0,0 +1,2 @@
gitBranch = 'main'
serviceExposedPort = '8761'

View File

@ -0,0 +1,2 @@
gitBranch = 'staging'
serviceExposedPort = '8761'

View File

@ -0,0 +1,2 @@
gitBranch = 'main'
serviceExposedPort = '8081'

View File

@ -0,0 +1,2 @@
gitBranch = 'staging'
serviceExposedPort = '8081'

View File

@ -0,0 +1,2 @@
gitBranch = 'main'
serviceExposedPort = '8888'

View File

@ -0,0 +1,2 @@
gitBranch = 'staging'
serviceExposedPort = '8888'

View File

@ -0,0 +1,2 @@
gitBranch = 'main'
serviceExposedPort = '8081'

View File

@ -0,0 +1,2 @@
gitBranch = 'staging'
serviceExposedPort = '8081'

View File

@ -0,0 +1,2 @@
gitBranch = 'main'
serviceExposedPort = '8081'

View File

@ -0,0 +1,2 @@
gitBranch = 'staging'
serviceExposedPort = '8081'