Я использую Helm 3 и у меня есть 3 различных values.yaml для каждой среды. Если мой первоначальный выпуск заканчивается в состоянии сбоя, чтобы избежать ошибки при выполнении helm upgrade --install myapp-dev
, я хотел бы удалить выпуск, если существует для связанной среды.
Так, согласно приведенному ниже сценарию, если этап развертывания выполняется успешно, то он удалит релиз для следующего этапа. Как лучше всего это делать в случае неудачи на предыдущем этапе? Должен ли я использовать блок try / catch или раздел post? Между тем, в каком состоянии я должен использовать эту очистку действительно?
stage('Deploy to staging'){
when{
beforeAgent true
expression{return env.GIT_BRANCH == "origin/test"}
}
steps{
script{
def namespace = "test"
def ENV = "test"
sh " helm upgrade myapp-test my-chart --install -f values.${ENV}.yaml --namespace ${namespace}"
}
}
}
stage('Cleanup Stage'){
when{
beforeAgent true
expression{return env.GIT_BRANCH == "origin/test"}
}
steps{
script{
//Uninstall a release from the cluster
sh "helm uninstall myapp-test"
//See currently deployed releases
sh "helm list -all"
}
}
}