quentin.dufour.io/_posts/2023-04-17-automatiser-la-p...

2.4 KiB

layout title date status sitemap category description
post Automatiser la publication des artefacts 2023-04-17T07:45:22.402+02:00 draft true developpement Nous avons précédémment défini un workflow de publication d'artefacts, maintenant on va chercher à l'automatiser un peu

Cet article fait suite aux 3 articles précédents :

Mainteant qu'on comprend mieux le problème, on aimerait définir un outil pour nous faciliter la vie à la publication. Il sera indépendant (standalone) mais développé au sein du dépôt albatros car il est prévu pour être utilisé de pair. Dans ce billet, son nom de code est alba.

Commençons par les entrées de notre programme : un ensemble de fichiers qui doit être généré par nos outils Nix :

# static
nix build .#packages.x86_64-linux.albatros -o publish/static/linux/amd64/albatros
nix build .#packages.i686-linux.albatros -o publish/static/linux/386/albatros
nix build .#packages.aarch64-linux.albatros -o publish/static/linux/arm64/albatros
nix build .#packages.armv6l-linux.albatros -o publish/static/linux/arm/albatros

# docker
nix build .#packages.x86_64-linux.docker.albatros -o publish/docker/linux/amd64/image.tar.gz
nix build .#packages.armv6l-linux.docker.albatros -o publish/docker/linux/arm/image.tar.gz
nix build .#packages.aarch64-linux.docker.albatros -o publish/docker/linux/arm64/image.tar.gz
nix build .#packages.i686-linux.docker.albatros -o publish/docker/linux/386/image.tar.gz

Et maintenant imaginons les commandes de base :

alba static push -t albatros:0.9 publish/ s3://download.deuxfleurs.org/
alba docker push -t albatros:0.9 publish/ s3://registry.deuxfleurs.org/

On pourra imaginer d'avantage de commandes par la suite comme :

alba static ls -t albatros s3://download.deuxfleurs.org
alba static rm -t albatros:0.8 s3://download.deuxfleurs.org
alba static gc -t albatros --keep 10 s3://download.deuxfleurs.org

Mais c'est en dehors du périmètre pour le moment !