2021-11-19 23:00:30 +00:00
|
|
|
|
## Logiciel d'intégration continue
|
|
|
|
|
|
|
|
|
|
De nombreuses solutions sont disponibles sur Internet, la plupart du temps
|
|
|
|
|
gratuites pour les projets libres ([Travis CI](https://travis-ci.org/),
|
|
|
|
|
[CircleCI](https://circleci.com/), ...).
|
|
|
|
|
|
|
|
|
|
Mais nous allons déployer notre propre solution, en utilisant [Drone
|
|
|
|
|
CI](https://drone.io/). C'est une solution d'intégration continue libre et
|
|
|
|
|
moderne, conçue tout autour de Docker. Idéale pour nous !
|
|
|
|
|
|
2022-02-24 19:43:43 +00:00
|
|
|
|
Deux conteneurs sont à lancer : nous aurons d'un côté l'interface de contrôle
|
|
|
|
|
et de l'autre un agent (*runner* dans le vocabulaire de Drone) chargé
|
|
|
|
|
d'exécuter les tests. Dans un environnement de production, on aura généralement
|
|
|
|
|
plusieurs agents, et ceux-ci seront situé sur des machines distinctes.
|
2021-11-19 23:00:30 +00:00
|
|
|
|
|
|
|
|
|
### Interface de contrôle et de dispatch des tâches
|
|
|
|
|
|
|
|
|
|
La documentation du projet est extrêmement bien faite, suivons la marche à
|
|
|
|
|
suivre pour [relier Gitea à
|
|
|
|
|
Drone](https://docs.drone.io/server/provider/gitea/).
|
|
|
|
|
|
|
|
|
|
Drone va avoir besoin d'authentifier les utilisateurs afin d'accéder aux dépôts
|
|
|
|
|
privés (avec l'autorisation des utilisateurs). Pour cela, comme l'indique la
|
|
|
|
|
documentation de Drone, on va utiliser OAuth2 : dans Gitea, il va falloir créer
|
|
|
|
|
une *application OAuth2*. Le formulaire de création se trouve dans la
|
2022-02-24 19:43:43 +00:00
|
|
|
|
configuration du compte utilisateur, sous l'onglet *Applications*.
|
|
|
|
|
|
|
|
|
|
Drone aura également besoin d'une URL de redirection. Dans notre cas,
|
|
|
|
|
ce sera :\
|
2021-11-19 23:00:30 +00:00
|
|
|
|
`http://droneci/login`.
|