Sortie de la version 0.4 de Drone

20
28
jan.
2016
Communauté

Drone est une solution d’intégration continue basée sur des conteneurs écrite en Go. Chaque exécution se passe à l’intérieur d’un conteneur Docker éphémère, ce qui permet de donner aux développeurs un contrôle complet sur l’environnement tout en l’isolant.

Cette nouvelle version apporte la fonctionnalité la plus demandée, une matrice de construction et s’intègre directement sur les plates‐formes d’hébergement GitHub, Bitbucket, GitLab et Gogs.

Drone

Matrice de construction

La matrice de construction permet de tester le projet sur plusieurs configurations différentes, par exemple des versions différentes du langage, mais aussi bien des bases de données différentes, voire des images (distributions) différentes.

Greffons

Le système de greffons de Drone est assez unique en ce qu’il est basé sur des conteneurs Docker. Chaque étape de la construction est exécutée par un conteneur différent, chacun ayant un accès partagé aux volumes de construction. Les conteneurs sont téléchargés et mis à jour automatiquement. L’intérêt de ce système est que les greffons ne sont pas liés à un langage particulier et donc il est possible d’en écrire dans son langage préféré.

Orchestration

Les machines de construction peuvent être maintenant attachées via la ligne de commande. Cela permet de grandir ou diminuer le nombre de machines à la volée en fonction du volume.

Nouveau format

Le format de configuration en YAML a été revu afin d’être plus proche du format de composition de Docker. Celui‐ci permet plus de flexibilité quant à la configuration des options de construction.

Aller plus loin

  • # Libre ?

    Posté par  . Évalué à 0.

    Bonjour,
    Ca me semble intéressant, mais j'ai quand même l'impression qu'on parle d'un logiciel propriétaire là, non ?

  • # Sujet du commentaire

    Posté par  (site web personnel) . Évalué à 3.

    Je l’ai installé pour tester, parce que je cherchais un outil de CI un peu mieux que celui de gitlab (notamment pour avoir une « matrice de build » (c’est à dire : pouvoir définir des options, par exemple « gcc ou clang » et « debug ou release », et que l’outil se charge de compiler le machin dans toutes les configurations possible (gcc release, clang debug, gcc debug etc)).

    Malheureusement il n’est pas prévu pour fonctionner avec un simple dépôt git standalone. Il doit forcément se reposer sur un API d’authentification, et sur des hooks « web » bien précis (donc github, gitlab, bitbucket). Et si j’installe drone c’est pas pour me taper la maintenance de drone ET de gitlab (et je veux m’auto-héberger, sinon j’utiliserais github et travis-ci…).

    Bref c’est pas mal, mais du coup je suis resté sur gitlab pour l’instant, qui j’espère va bientôt implémenter les quelques features qui me manquent.

    (Par contre un bon point, comme ça ne marche QUE avec docker, j’ai dû m’y mettre un peu, et je regrette pas, j’ai passé mon gitlab-ci en mode docker suite à cet essai de drone).

  • # Orchestration

    Posté par  . Évalué à 0.

    J'ai pas mal vérifié dans les annonces (Fr et EN), puis la doc et je trouve pas de trace de cette possibilité d'orchestration en augmentant/diminuant le nombre de machine de build à la volée.

    Cette chose m'intéresse bcp.. Qqn un des infos ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.