ADR-007 : Utiliser Forgejo Actions
Statut
Section titled “Statut”Accepté
- Date : 27/07/2026
- Auteur : Corentin Talour
Contexte et problème
Section titled “Contexte et problème”L’infrastructure repose sur Forgejo comme forge Git. Afin d’automatiser les phases de validation, de test et de déploiement des projets, il est nécessaire de mettre en place une solution d’intégration et de déploiement continus (CI/CD). Cette solution doit être compatible avec Forgejo, légère et adaptée à un environnement auto-hébergé sur un VPS disposant de ressources limitées.
Options considérées
Section titled “Options considérées”Option 1 : Jenkins
Section titled “Option 1 : Jenkins”Jenkins est une solution open source largement utilisée pour l’intégration continue. Elle dispose d’un vaste écosystème de plugins et permet de créer des pipelines complexes.
Cependant, Jenkins nécessite une administration importante, une configuration plus complexe et une maintenance régulière. Son interface est également moins intégrée à Forgejo.
Option 2 : Woodpecker CI
Section titled “Option 2 : Woodpecker CI”Woodpecker CI est une solution CI/CD légère, conçue pour fonctionner avec plusieurs forges Git. Elle est simple à déployer et adaptée aux environnements auto-hébergés.
Cependant, elle nécessite une installation et une intégration supplémentaires avec Forgejo. Son écosystème est également plus réduit que celui des GitHub Actions.
Option 3 : Forgejo Actions (choisi)
Section titled “Option 3 : Forgejo Actions (choisi)”Forgejo Actions est la solution CI/CD intégrée à Forgejo. Elle est compatible avec la majorité des workflows GitHub Actions existants et s’appuie sur un Forgejo Runner auto-hébergé pour exécuter les pipelines.
Cette solution offre une intégration native avec Forgejo tout en limitant les composants à installer et à maintenir.
Décision
Section titled “Décision”Forgejo Actions est retenu comme solution CI/CD de l’infrastructure. Son intégration native avec Forgejo, sa compatibilité avec les workflows GitHub Actions et son fonctionnement avec un runner auto-hébergé répondent aux besoins du projet. De plus l’équipe a déjâ travailler sur des pipelines CI/CD GitHub actions. Jenkins est écarté en raison de sa complexité d’administration, tandis que Woodpecker CI n’est pas retenu car il nécessite une intégration supplémentaire sans apporter d’avantage significatif dans ce contexte.
Conséquences
Section titled “Conséquences”Positives
Section titled “Positives”- Intégration native avec Forgejo.
- Compatibilité avec la majorité des workflows GitHub Actions.
- Déploiement simple avec un Forgejo Runner.
- Faible consommation de ressources.
- Solution entièrement auto-hébergée.
Négatives
Section titled “Négatives”- Nécessite le déploiement et la maintenance d’un Forgejo Runner.
- Écosystème plus jeune que certaines solutions historiques.
- Certaines GitHub Actions peuvent nécessiter des adaptations pour fonctionner correctement.