3.1 KiB
\newpage
Publier une image Docker
Toutes les tâches de publication peuvent s'assimiler à des tâches de déploiement continu. C'est en particulier le cas lorsque le produit de compilation sera simplement publié et qu'il n'y a pas de service à mettre à jour ensuite (par exemple, dans le cas de Firefox ou de LibreOffice, une fois testés, les paquets sont envoyés sur le serveur d'où ils seront distribués ; il n'y a pas de service/docker à relancer).
À l'inverse, youp0m
est à la fois un programme que l'on peut télécharger et
un service qu'il faut déployer pour le mettre à jour. Pour simplifier le
déploiement, nous utilisons une image Docker. Il faut cependant la générer ...
Mise en place du registre
::::: {.more} Si vous avez choisi Gitlab, vous pouvez utiliser directement le registre Docker intégré. Si vous utilisez Gitea, continuez cette section. :::::
Afin de disposer de notre propre registre Docker sur lequel publier nos images, nous allons utiliser l'image de registre fournie par Docker. Elle se lance comme suit :
Vous trouverez davantage d'informations pour le déploiement ici.
Nous pouvons tester le bon fonctionnement de notre registre avec la commande suivante :
Publication de l'image
Une fois le registre démarré, il ne nous reste plus qu'à ajouter une étape de
publication de l'image Docker. Cela se fait au moyen du plugin suivant :
http://plugins.drone.io/drone-plugins/drone-docker/.
Sans plus de configuration, le registre que nous avons démarré
n'attend pas d'authentification. Et comme il n'a pas de certificat TLS
pour utiliser https
, il est nécessaire de définir l'option
insecure
à true
.
Test de l'image
Sur l'hôte, nous pouvons tester que l'image a bien été publiée grâce à la commande suivante :
::::: {.question}
On notera que ceci est possible exclusivement parce que le registre
localhost:5000
est considéré non-sûr par défaut. C'est-à-dire qu'il n'a pas
besoin de certificat TLS sur sa connexion HTTP pour être utilisé.
Si on avait dû utiliser un autre nom de domaine, il aurait fallu
l'ajouter à la liste des
insecure-registries
.
:::::
Suite du déploiement
Nous en resterons là pour le déploiement, car nous n'avons pas d'environnement de production sur lequel déployer notre service.
Vous pouvez néanmoins tester les plugins
scp
ou
ansible
si vous avez
une machine virtuelle avec une connexion SSH. N'hésitez pas à l'ajouter à votre
.droneci.yml
.
Profitons !
Sonarqube a repéré quelques erreurs dans le code de youp0m
, essayez de les
corriger, et publiez une nouvelle version, pour observer toute la chaîne en
action !