Comment utiliser les commandes helm dans le script de pipeline Jenkins

Sep 02 2020

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

1 PankajSaini Sep 02 2020 at 22:20

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

DashrathMundkar Sep 02 2020 at 19:28

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.

ThiagoG.Alves Jan 07 2021 at 23:09

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.