web-dev-qa-db-fra.com

Comment créer des images de menu fixe à l'aide d'un fichier de déclaration Jenkins

Je suis nouveau à utiliser Jenkins ....

J'essaie d'automatiser la production d'une image (à stocker dans un dépôt) à l'aide d'un fichier Jenkins déclaratif. Je trouve la documentation déroutante (au mieux). En termes simples, comment puis-je convertir l'exemple de script suivant (from the docs )

node {
    checkout scm
    def customImage = docker.build("my-image:${env.BUILD_ID}")
    customImage.Push()
}

à un fichier Jenkins déclaratif ....

9
MarkH

Vous pouvez utiliser des blocs de pipeline scriptés dans un pipeline déclaratif comme solution de contournement

pipeline {
    agent any
    stages {
        stage('Build image') {
            steps {
                echo 'Starting to build docker image'

                script {
                    def customImage = docker.build("my-image:${env.BUILD_ID}")
                    customImage.Push()
                }
            }
        }
    }
}
15
v.karbovnichy

J'utilise l'approche suivante:

steps {
   withDockerRegistry([ credentialsId: "<CREDENTIALS_ID>", url: "<PRIVATE_REGISTRY_URL>" ]) {
      // following commands will be executed within logged docker registry
      sh 'docker Push <image>'
   }
}

Où:

  • CREDENTIALS_ID représente la clé dans Jenkis sous laquelle vous stockez les informations d'identification dans votre registre de menu fixe.
  • PRIVATE_REGISTRY_URL représente l'url de votre registre de dockers privé. Si vous utilisez le docker hub, il devrait être vide.
1
shobull