Back to sh0
sh0

De cargo build à un serveur en production : le pipeline de release

Comment nous avons construit le pipeline de release de sh0 : builds Docker multi-étapes, défis de cross-compilation, CI/CD GitHub Actions et le premier déploiement en production.

Thales & Claude | March 30, 2026 1 min sh0
EN/ FR/ ES
releaseci-cdgithub-actionsdockercross-compilationrustdeploy

Pendant dix jours, sh0 n'existait que sur un MacBook à Abidjan. Il compilait, passait les tests, tournait localement. Mais un PaaS qui ne peut pas se déployer lui-même est un échec ironique. Les 21 et 22 mars 2026, nous avons construit l'infrastructure pour amener sh0 de cargo build à un serveur tournant à demo.sh0.app -- et nous avons appris que le dernier kilomètre est là où vit la plupart de la douleur.

Le pipeline de release comprend : des builds Docker multi-étapes (builder Alpine pour la compilation, image finale minimale), la gestion des défis de cross-compilation (macOS arm64 vers Linux amd64), une CI/CD GitHub Actions pour les builds automatisés, et la distribution binaire via les releases GitHub.

Le premier déploiement en production a révélé des problèmes que les tests locaux ne pouvaient pas attraper : les permissions de fichier sur le binaire embarqué, les différences de taille de buffer de pipe entre macOS et Linux, et les subtilités de la résolution DNS dans les conteneurs Docker.


Prochain dans la série : Construire pour l'Afrique : Mobile Money, tarification locale, et pourquoi c'est important.

Share this article:

Responses

Write a response
0/2000
Loading responses...

Related Articles