Skip to content
Snippets Groups Projects
Commit bdbc516b authored by OZGCloud's avatar OZGCloud
Browse files

OZG-3420 pipeline trigger and input step

parent 2e29a713
Branches
Tags 1.2.0
No related merge requests found
...@@ -5,11 +5,134 @@ pipeline { ...@@ -5,11 +5,134 @@ pipeline {
} }
} }
triggers {
upstream(upstreamProjects: getUpstreamProjects(), threshold: hudson.model.Result.SUCCESS)
}
stages { stages {
stage("Hello") { stage("Clone Gitops Repo") {
steps {
cloneGitopsRepo()
}
}
stage("Init Default Versions") {
steps {
script {
initEnvGoofyDefaultVersions()
initEnvPlutoDefaultVersions()
initEnvUserManagerDefaultVersions()
}
}
}
stage("Set User Versions") {
when {
beforeInput true
triggeredBy cause: "UserIdCause"
}
steps {
script {
userVersions = input message: "Edit Default Values",
parameters: [
string(name: "GoofyImageTag", defaultValue: env.GOOFY_IMAGE_TAG, trim: true),
string(name: "GoofyHelmChartVersion", defaultValue: env.GOOFY_HELM_CHART_VERSION, trim: true),
string(name: "PlutoImageTag", defaultValue: env.PLUTO_IMAGE_TAG, trim: true),
string(name: "PlutoHelmChartVersion", defaultValue: env.PLUTO_HELM_CHART_VERSION, trim: true),
string(name: "UserManagerImageTag", defaultValue: env.USER_MANAGER_IMAGE_TAG, trim: true),
string(name: "UserManagerHelmChartVersion", defaultValue: env.USER_MANAGER_HELM_CHART_VERSION, trim: true)
]
initEnvUserVersions(userVersions)
}
}
}
stage("Print Versions") {
steps { steps {
echo "Hello World!" script {
println "GOOFY_IMAGE_TAG: ${env.GOOFY_IMAGE_TAG}"
println "GOOFY_HELM_CHART_VERSION: ${env.GOOFY_HELM_CHART_VERSION}"
println "PLUTO_IMAGE_TAG: ${env.PLUTO_IMAGE_TAG}"
println "PLUTO_HELM_CHART_VERSION: ${env.PLUTO_HELM_CHART_VERSION}"
println "USER_MANAGER_IMAGE_TAG: ${env.USER_MANAGER_IMAGE_TAG}"
println "USER_MANAGER_HELM_CHART_VERSION: ${env.USER_MANAGER_HELM_CHART_VERSION}"
}
}
}
}
}
String getUpstreamProjects() {
if (isMasterBranch() || isReleaseBranch()){
return "goofy/${env.BRANCH_NAME},pluto/${env.BRANCH_NAME},user-manager/${env.BRANCH_NAME}"
}
return "goofy/${env.BRANCH_NAME}"
} }
Boolean isReleaseBranch() {
return env.BRANCH_NAME == 'release'
}
Boolean isMasterBranch() {
return env.BRANCH_NAME == 'master'
}
def cloneGitopsRepo() {
withCredentials([usernamePassword(credentialsId: 'jenkins-gitea-access-token', passwordVariable: 'TOKEN', usernameVariable: 'USER')]) {
sh 'git clone https://${USER}:${TOKEN}@git.ozg-sh.de/mgm/gitops.git'
}
}
Map getApplicationValues(String application) {
def applicationValues = readYaml file: "gitops/${getEnvironment()}/application/values/${application}-values.yaml"
return applicationValues.get(application.replaceAll("-", "_"))
}
String getEnvironment() {
if (isReleaseBranch()) {
return "test"
}
return "dev"
} }
String getImageTag(Map applicationValues) {
return applicationValues.image.tag
}
String getHelmChartVersion(Map applicationValues) {
return applicationValues.helm.version
} }
Void initEnvGoofyDefaultVersions() {
goofyValues = getApplicationValues("goofy")
env.GOOFY_IMAGE_TAG = getImageTag(goofyValues)
env.GOOFY_HELM_CHART_VERSION = getHelmChartVersion(goofyValues)
}
Void initEnvPlutoDefaultVersions() {
plutoValues = getApplicationValues("pluto")
env.PLUTO_IMAGE_TAG = getImageTag(plutoValues)
env.PLUTO_HELM_CHART_VERSION = getHelmChartVersion(plutoValues)
}
Void initEnvUserManagerDefaultVersions() {
userManagerValues = getApplicationValues("user-manager")
env.USER_MANAGER_IMAGE_TAG = getImageTag(userManagerValues)
env.USER_MANAGER_HELM_CHART_VERSION = getHelmChartVersion(userManagerValues)
}
Void initEnvUserVersions(userVersions) {
env.GOOFY_IMAGE_TAG = userVersions.GoofyImageTag
env.GOOFY_HELM_CHART_VERSION = userVersions.GoofyHelmChartVersion
env.PLUTO_IMAGE_TAG = userVersions.PlutoImageTag
env.PLUTO_HELM_CHART_VERSION = userVersions.PlutoHelmChartVersion
env.USER_MANAGER_IMAGE_TAG = userVersions.UserManagerImageTag
env.USER_MANAGER_HELM_CHART_VERSION = userVersions.UserManagerHelmChartVersion
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment