Я использую Helm 3, и когда я запускаю команду ниже в конвейере Jenkins.
+ helm upgrade --install road-dashboard -f values.dev.yaml --namespace dev
Я получил ошибку ниже.
Ошибка: для «обновления руля» требуются 2 аргумента
Возможно, мне следует указать и имя диаграммы. Но у меня возникли некоторые затруднения из-за нового использования Helm.
1.Как мне указать название графика. Это должен быть каталог или любое имя диаграммы, которое я могу указать. Моя древовидная структура приложения, как показано ниже.
+-- helm\road-dashboard
| +--charts
| +-- templates
| | \-- ...
| +-- Chart.yaml
| +-- values.dev.yaml # dev override values
| +-- values.stage.yaml # stage override values
| +-- values.prod.yaml # production override values
2. Я хотел бы запустить команду helm lint
перед развертыванием. Мой каталог рулевой диаграммы в Jenkins : /home/ubuntu/workspace/road-dashboard/helm/road-dashboard
. Так что лучше всего менять каталог только для helm lint command
и возвращать существующий рабочий каталог для команды helm --upgrade install
, которая должна быть /home/ubuntu/workspace/road-dashboard
. Ниже приведен сценарий, который, но не уверен, что он подходит для лучших практик.
stage('Deploy to dev'){
when{
beforeAgent true
expression{return env.GIT_BRANCH == "origin/develop"}
}
steps{
dir('/home/ubuntu/workspace/road-dashboard/helm/road-dashboard'){
sh "helm lint"
}
script{
def namespace = "dev"
def ENV = "dev"
withCredentials([file(credentialsId: 'mbtkubeconfig', variable: 'config')]){
sh """
export KUBECONFIG=\${config}