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

2.7 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?endpoint=garage.deuxfleurs.fr&region=garage'
alba registry push -t albatros:0.9 publish/ 's3://registry.deuxfleurs.org?endpoint=garage.deuxfleurs.fr&region=garage'
alba docker push publish/ docker.io/dxflrs/albatros:0.9

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

alba static ls -t albatros 's3://download.deuxfleurs.org?endpoint=garage.deuxfleurs.fr&region=garage'
alba static rm -t albatros:0.8 's3://download.deuxfleurs.org?endpoint=garage.deuxfleurs.fr&region=garage'
alba static gc -t albatros --keep 10 's3://download.deuxfleurs.org?endpoint=garage.deuxfleurs.fr&region=garage'

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