Certaines fonctionnalités sont mieux construites seules. D'autres sont mieux construites en parallèle -- quand elles touchent des domaines entièrement différents et ne partagent aucun fichier, les exécuter en parallèle divise le temps calendaire par deux sans introduire de conflits de fusion.
Les tâches cron et les environnements de preview étaient un cas parfait. Les tâches cron nécessitaient un planificateur, une gestion de timeout et des commandes docker exec. Les environnements de preview nécessitaient l'intégration de webhooks GitHub/GitLab, des sous-domaines temporaires et un nettoyage automatique. Zéro fichier en commun.
Le planificateur cron évalue les expressions cron, exécute les commandes dans les conteneurs d'application via Docker exec, applique des timeouts configurables, et enregistre le résultat. Les environnements de preview créent un déploiement temporaire pour chaque pull request, avec un sous-domaine auto-généré, et se nettoient automatiquement quand la PR est fusionnée ou fermée.
Prochain dans la série : Monitoring et alertes : Email, Slack, Discord, Telegram, Webhooks.