Mise à jour de 'Construire et publier une image Docker'
parent
96c4bae0e9
commit
c3c491d6a8
|
@ -1 +1,36 @@
|
||||||
Bienvenue sur le Wiki.
|
# 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.
|
Loading…
Reference in New Issue