quentin.dufour.io/_posts/2023-04-17-automatiser-la-publication-des-artefacts.md

43 lines
2 KiB
Markdown

---
layout: post
title: Automatiser la publication des artefacts
date: 2023-04-17T07:45:22.402+02:00
status: draft
sitemap: true
category: developpement
description: 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 :
- [Un registre statique Docker avec Garage](https://quentin.dufour.io/blog/2023-04-06/un-registre-statique-docker-avec-garage/)
- [Construire et publier des conteneurs sans daemon Docker](https://quentin.dufour.io/blog/2023-04-11/fabriquer-des-conteneurs-l%C3%A9gers-depuis-une-ci-cd/)
- [Spécifier un registre d'artefacts et l'intégrer dans un site web](https://quentin.dufour.io/blog/2023-04-12/un-outil-sans-daemon-pour-g%C3%A9rer-ses-artefacts-de-build/)
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 :
```bash
# 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 bas niveau de base :
```
alba
```