virli/tutorial/devops/tools-drone.md

1.4 KiB

Logiciel d'intégration continue

De nombreuses solutions sont disponibles sur Internet, la plupart du temps gratuites pour les projets libres (Travis CI, CircleCI, ...).

Mais nous allons déployer notre propre solution, en utilisant Drone CI. C'est une solution d'intégration continue libre et moderne, conçue tout autour de Docker. Idéale pour nous !

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.

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.

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 configuration du compte utilisateur, sous l'onglet Applications.

Drone aura également besoin d'une URL de redirection. Dans notre cas, ce sera :
http://droneci/login.