Page:
Construire et publier une image Docker
Pages
Ajouter un noeud d'exécution à Jenkins
Construire et publier une image Docker
Créer un pipeline Jenkins pour son projet
Home
Lancer un exécuteur Jenkins sur sa machine
Mettre à jour les certificats du keystore Jenkins
Mettre à jour Jenkins
Nettoyer la liste des jobs en attente
Redémarrer Jenkins
Redimensionner le disque d'une machine "worker"
Remonter un nouveau Jenkins sur l'OpenNebula
Sauvegarder et restaurer Jenkins avec ThinBackup, restic et rclone
Sauvegarder Jenkins avec Restic/RClone
Utiliser le pipeline "Symfony"
3
Construire et publier une image Docker
wpetit edited this page 2022-10-17 16:25:18 +02:00
Table of Contents
Construire et publier une image Docker
La librairie Jenkins "Cadoles" met à disposition une méthode permettant de construire, valider puis optionnellement publier une image Docker sur un dépôt compatible.
Pour utiliser cette méthode, votre fichier Jenkinsfile
doit avoir la ligne d'import suivant (par exemple, sur la première ligne):
@Library("cadoles") _
Cette ligne indique à Jenkins d'importer la librairie définie par le projet https://forge.cadoles.com/Cadoles/Jenkins.
Ensuite, créez un nouveau stage dans votre fichier Jenkinsfile:
stage("Build and publish container image") {
steps {
script {
// On récupère le tag du commit courant
Boolean currentTag = sh(script: 'git tag --points-at HEAD | head -n 1', returnStdout: true).trim()
// On retrouve le tag de l'image "par défaut"
String defaultTag = sh(returnStdout: true, script: 'git describe --always').trim()
container.buildAndPublishImage([
'dockerfile': 'path/to/my/Dockerfile',
'imageName': 'reg.cadoles.com/cadoles/myAppImageName',
'imageTag': currentTag ?: defaultTag, // On utilise soit le tag courant, soit le tag par défaut
'dryRun': !currentTag, // On ne déploie l'image sur le registre que si le commit courant est taggé
])
}
}
}
Par défault, l'image sera publiée sur le dépôt Cadoles https://reg.cadoles.com.
La liste des différentes options pour la méthode container.buildAndPublishImage()
est disponible à l'adresse https://forge.cadoles.com/Cadoles/Jenkins/src/branch/master/vars/container.groovy