From c3c491d6a8525e7f2423c4c8a1d3d8f16127890e Mon Sep 17 00:00:00 2001 From: wpetit Date: Mon, 17 Oct 2022 15:52:58 +0200 Subject: [PATCH] =?UTF-8?q?Mise=20=C3=A0=20jour=20de=20'Construire=20et=20?= =?UTF-8?q?publier=20une=20image=20Docker'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Construire-et-publier-une-image-Docker.md | 37 ++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/Construire-et-publier-une-image-Docker.md b/Construire-et-publier-une-image-Docker.md index 1f576c2..96837ec 100644 --- a/Construire-et-publier-une-image-Docker.md +++ b/Construire-et-publier-une-image-Docker.md @@ -1 +1,36 @@ -Bienvenue sur le Wiki. \ No newline at end of file +# 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): + +```groovy +@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: + +```groovy +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. \ No newline at end of file