Comment utiliser les commandes helm dans le script de pipeline Jenkins
J'ai essayé de déployer l'image construite sur jenkins par docker sur des graphiques de barre, j'ai référencé quelques documents sur le site Web https://dev.to/sword-health/seamless-ci-cd-with-jenkins-helm-and-kubernetes-5e00 et https://cloudcompilerr.wordpress.com/2018/06/03/docker-jenkins-kubernetes-run-jenkins-on-kubernetes-cluster/ et géré jusqu'au point où l'image de docker est poussée dans dockerhub mais je reste coincé à la barre, je ne comprends pas exactement l'erreur.
ERREUR JENKINS
+ helm list
/var/lib/jenkins/workspace/01@tmp/durable-68e91f76/script.sh: 1: /var/lib/jenkins/workspace/01@tmp/durable-68e91f76/script.sh: helm: not found
PIPELINESCRIPT
pipeline {
environment {
registry = "hemanthpeddi/springboot"
registryCredential = 'dockerhub'
}
agent any
tools {maven "maven" }
stages {
stage('Cloning Git') {
steps {
git 'https://github.com/hrmanth/game-of-life.git'
}
}
stage('Build'){
steps{
sh script: 'mvn clean package'
}
}
stage('Building image') {
steps{
script {
dockerImage = docker.build registry + ":$BUILD_NUMBER" } } } stage('Deploy Image') { steps{ script { docker.withRegistry( '', registryCredential ) { dockerImage.push() } } } } stage('Remove Unused docker image') { steps{ sh "docker rmi $registry:$BUILD_NUMBER"
}
}
stage('Run Helm') {
steps {
script {
container('helm') {
sh "helm ls"
}
}
}
}
}
}
Y a-t-il une configuration spécifique qui me manque avant d'utiliser Helm dans Jenkins? Et j'ai configuré mon adresse IP kubernetes dans la configuration cloud de jenkins, veuillez aider
Plugins installés
Plug-in Kubernetes
Plugin Docker
Réponses
Vous avez besoin de barre, elle n'est pas disponible par défaut. Vous pouvez ajouter helm comme outil dans Jenkins et l'utiliser.https://www.jenkins.io/doc/book/pipeline/syntax/#tools
Vous devez installer helm dans tous les nœuds, y compris les nœuds Jenkins maître / esclave. il semble que vous n'ayez pas installé helm dans jenkins.
Je ne suis pas très familier avec cela, mais lorsque vous utilisez l' étape " container ('helm') ", je pense que cela fait référence au plugin Kubernetes .
Donc, en lisant cette documentation , je pense que le " podTemplate " est absent de votre configuration.
Ainsi, ce que vous devez faire est de configurer un conteneur Helm dans le "podTemplate" et de mettre le nom "helm". Vous pouvez essayer d'utiliser, par exemple, l'image "alpine / barre". À plus tard.