vidéo peertube - vidéo youtube - dépôt git
Personnaliser une image Docker de NixOS pour de l’intégration continue
Dans un projet git, l’intégration continue permet de construire/tester/déployer automatiquement le projet lors des modifications du code. Pour cela, on utilise généralement une image Docker (Ubuntu, Debian, NixOS…) que l’on met à jour en fonction du projet. Cette mise à jour peut parfois prendre du temps. Ce tutoriel montre comment construire et utiliser une image Docker personnalisée.
Packager un document Latex/Beamer
dépôt git d’exemple : https://framagit.org/nokomprendo/beam
écrire un fichier de packaging
default.nix
:tester la compilation en local :
Compiler avec Gitlab-CI
écrire un fichier d’intégration continue
.gitlab-ci.yml
:ajouter le fichier au dépôt avec les commandes classiques (
git add/commit/push
)inconvénient : à chaque mise à jour, une image Docker générique
nixos/nix
est chargée puis tous les paquets Latex sont installés (ce qui prend environ 30 minutes)
Construire et utiliser une image Docker personnalisée
Configuration de Docker
activer Docker dans le fichier
/etc/nixos/configuration.nix
:mettre à jour le système :
ajouter le groupe
docker
à l’utilisateur (et se reconnecter) :
Créer une image Docker
écrire un
Dockerfile
:construire l’image Docker (environ 45 minutes) :
Uploader sur Docker Hub
créer un compte sur https://hub.docker.com puis créer un dépôt Docker
uploader l’image Docker (environ 1 Go) :
Utilisation dans Gitlab-CI
spécifier l’image
nokomprendo/niostex
dans le fichier.gitlab-ci.yml
mettre à jour le dépôt git et relancer l’intégration continue (environ 5 minutes)