Info sur JMRI:
Outils de Développement
Structure
Techniques et Standards
Comment Faire
Infos Fonctionnelles
Contexte Infos

JMRI: Intégration Continue

L'"Intégration Continue" est le procédé de reconstruction d'un système à chaque fois qu'il change, de sorte que vous découvrez rapidement les nouveaux problèmes et êtes motivés pour supprimer ceux existants

Le cœur de notre système est une série de tâche Jenkins qui construit d'une manière routinière le code, exécute les vérifications, et crée les installateurs téléchargeables. Cela signifie que nous pouvons et mettons très rapidement des changements dans nos mains d'utilisateurs.

Nous utilisons aussi deux machines CI pour tester chaque changement entré dans notre répertoire de code GitHub.

Travis CI

Nous utilisons Travis CI pour faire l'intégration/test construits sur Linux pour chaque ajout dans nos répertoires GitHub

Travis normalement construit chaque branche qui contient un fichier .travis.yml. L'historique de construction pour le référentiel principal JMRI est à https://travis-ci.org/JMRI/JMRI.

Normalement Travis exécute les vérifications pour des fins de ligne valides, la vérification de caractères ASCII correctes, suivi par la construction du code et de l'exécution des tests de routine "AllTest". Un tampon d'écran ( pas un vrai écran ) est utilisé pour tous les tests GUI.

Vous pouvez ainsi activer Travis CI pour votre fourche (Référentiel GitHub personnelle). Après la fusion JMRI/master dans votre propre fourche, permettre à Travis CI de surveiller votre fourche, et il va commencer à tester votre prochaine sortie pour GitHub. Suivez les instructions sur Travis CI pour configurer vos fourches.

Vous pouvez empêcher un Travis CI de s'exécuter après un e soumission spécifique en incluant "[ci skip]" ( incluant les crochets mais pas les guillemets ) n'importe où dans le message de soumission si on le désire.

Jenkins

JMRI utilise la machine d'intégration continue Jenkins pour l'intégration et les tests de constructions. Ceci inclut la conservation de notre site web à jour des changements qui sont soumis, de la construction de paquets d'installation depuis la construction en développpement, et de la construction des versions finales.

Notre machine Jenkins primaire est à https://builds.jmri.org/jenkins/, avec also known as à https://builds.jmri.org/jenkins/.

L'interêt des résultats spécifiques Jenkins

Intégration avec NetBeans

Si vous développez dans un environnement NetBeans 7.0 , il est possible d'intégrer les retour d'information dans la machine d'Intégration Continue Jenkins (CI).

Dans l'environnement NetBeans, il est fait référence la machine d'Intégration Continue Hudson - Jenkins est une "branche" du code Hudson et supporte le même API.

Intégration

L'intégration dans NetBeans s'achève en exécutant les étapes suivantes:

  1. Ouvrir NetBeans
  2. Basculer sur la fenêtre "Services" (Raccourci clavier "Ctrl+5")
  3. Clic-Droit (Ctrl-clic sur Mac) sur l'entrée "Constructeurs Hudson" et choisir "Add Hudson Instance..."
    Add Hudson Instance...
  4. Dans la résultat déroulant, compléter les rubriques suivantes:
    Name
    JMRI
    URL
    https://builds.jmri.org/jenkins/
    Auto refresh every X minutes
    60 (changer la valeur de 5 par défaut pour éviter de surcharger le serveur CI)
    Add Hudson Instance dialog

à partir de maintenant, l'état actuel des constructions Jenkins peut être examiné dans la fenêtre "Services" en élargissant l'entrée "JMRI" sous "Hudson Builders".

Jenkins Overview