virli/tutorial/devops/tools-drone.md

31 lines
1.4 KiB
Markdown
Raw Normal View History

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és 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`.