2025-02-17 10:14:40 +00:00
|
|
|
package com.freeleaps.devops
|
|
|
|
|
|
|
|
|
|
class ArgoApplicationVersionUpdater {
|
|
|
|
|
def steps
|
|
|
|
|
def workspace
|
|
|
|
|
|
|
|
|
|
ArgoApplicationVersionUpdater(steps) {
|
|
|
|
|
this.steps = steps
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def update(environmentSlug, component) {
|
|
|
|
|
steps.log.info("ArgoApplicationVersionUpdater", "[${environmentSlug}] Update Argo application image version for ${component.name}...")
|
2025-02-17 12:19:28 +00:00
|
|
|
def valuesFile = "${workspace}/helm/${component.name}/values-${environmentSlug}.yaml"
|
2025-02-17 10:14:40 +00:00
|
|
|
def data = steps.readYaml (file: valuesFile)
|
|
|
|
|
data.${component.name}.image.registry = steps.env.BUILD_IMAGE_REGISTRY
|
|
|
|
|
data.${component.name}.image.repository = steps.env.BUILD_IMAGE_REPOSITORY
|
|
|
|
|
data.${component.name}.image.tag = steps.env.BUILD_IMAGE_VERSION
|
|
|
|
|
data.${component.name}.image.name = steps.env.BUILD_IMAGE_NAME
|
|
|
|
|
steps.writeFile file: valuesFile, data: data, overwrite: true
|
|
|
|
|
|
|
|
|
|
steps.withCredentials([steps.usernamePassword(credentialsId: 'freeleaps-ops-credentials', passwordVariable: 'OPS_GIT_PASSWORD', usernameVariable: 'OPS_GIT_USERNAME')]) {
|
|
|
|
|
steps.sh """
|
|
|
|
|
git config user.name "freeleaps-gitops-bot"
|
|
|
|
|
git config user.email "gitops@mathmast.com"
|
|
|
|
|
git remote add ci_origin https://${OPS_GIT_USERNAME}:${OPS_GIT_PASSWORD}@dev.azure.com/freeleaps/freeleaps-ops/_git/freeleaps-ops
|
|
|
|
|
git add ${valuesFile}
|
|
|
|
|
git commit -m "ci(bump): bump ${component.name} image version for ${environmentSlug} to ${steps.env.BUILD_IMAGE_VERSION}"
|
|
|
|
|
git push ci_origin HEAD:master
|
|
|
|
|
"""
|
|
|
|
|
steps.log.info("ArgoApplicationVersionUpdater", "[${environmentSlug}] ${component.name} image version bump to ${steps.env.BUILD_IMAGE_VERSION}")
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|