Intégration continue – iceScrum

Documentation Cette documentation ne s'applique qu'à iceScrum v7.
Pour un vieux serveur iceScrum R6, lisez la documentation correspondante ou migrez.



L’intégration continue (CI) joue un rôle important dans le développement agile. iceScrum intègre les informations de build de votre serveur CI afin que vous n’ayez pas à quitter iceScrum pour vérifier que vos builds passent. Cette intégration permet également la traçabilité entre les stories et les builds dans lesquels elles sont implémentées.

Principes

iceScrum fournit une structure de données générique pour stocker les informations de build. Il est envoyé par un serveur CI via l’API Web Services iceScrum. Pour Jenkins/Hudson et Travis CI, nous fournissons des Apps pour le faire automatiquement:

Builds, jobs et projet


L’information de build est envoyée lorsque votre serveur CI construit votre application en suivant les instructions décrites dans un job.

L’information de build décrit principalement le nom du build, son numéro, la date, le job et le statut. Lorsqu’il est envoyé à iceScrum, les informations de build doivent être associées à un projet (vous pouvez associer plusieurs jobs à un projet). iceScrum sait que les builds appartiennent au même job en fonction du nom de job fourni.

Le tableau de bord affiche les dernières informations de build pour chaque job associé au projet. Le nom du job est affiché sur la gauche. La couleur du nom du build dépend de l’état de ce dernier. Vous obtiendrez plus d’informations en le survolant.

Builds, tâches et stories

Dans un projet, les informations de build sont affichées avec une ou plusieurs stories. Les stories sont affichées avec le build si elles incluent une ou plusieurs tâches associées à ce numéro de build.

L’information de build est également montrée dans les vues détaillées de tâche et de stories selon leur association. Contrairement aux informations du tableau de bord qui affichent uniquement la dernière version par job, tous les builds associés sont affichés.

Renseignez les détails de la Story.

Le plugin d’intégration continue inclut des tâches dans les informations de build si elles se trouvent dans les messages de commit selon ce modèle: T<taskUID>[-<taskEstimation>]. Ce modèle est celui que nous avons défini pour l’intégration SCM. Par conséquent, si vous utilisez déjà cette fonction iceScrum, les builds seront automatiquement associés à vos tâches.

Les sections suivantes décrivent comment configurer l’intégration avec votre serveur CI. À l’heure actuelle Jenkins et Travis CI sont disponibles d’origine. Si vous souhaitez avoir un nouveau plugin développé par notre équipe, contactez-nous. Faites-nous savoir si vous en développez un de votre côté, nous pourrions envisager de le rendre accessible à tous.

App Jenkins


Cette section décrit comment lier iceScrum avec votre serveur Jenkins.

Configuration d'iceScrum


La seule configuration à faire sur votre projet iceScrum est d’activer l’App Jenkins.

Seuls les projets « freestyle » sont supportés pour le moment, le support de Jenkins Pipelines n’est pas encore disponible.

Activez l’App sur votre projet.

Configuration du plugin Jenkins

Si vous utilisez Jenkins, vous pouvez installer le plugin iceScrum directement à partir du menu Gérer Jenkins> Gérer les Plugins. Vous le trouverez sous l’onglet Disponible (il s’appelle iceScrum plugin). Choisissez Télécharger maintenant et installez après le redémarrage.

Si vous utilisez Hudson, vous devrez installer le plugin manuellement. Téléchargez le dernier fichier icesrum.hpi dans le répertoire $HUDSON_HOME/plugins et redémarrez Hudson.

Une fois votre serveur Jenkins redémarré, vous pouvez configurer la connexion à iceScrum dans le panneau paramètres iceScrum de la configuration de votre job.

Paramétrez le jeton d’accès à iceScrum.

Entrez l’URL de votre projet :

$server/p/$project

Si vous utilisez iceScrum Cloud, l’URL sera :

https://cloud.icescrum.com/p/$project

Authentification:

  • iceScrum utilise désormais des jetons d’API pour l’authentification du service Web. Apprenez comment générer un jeton d’API iceScrum.
    iceScrum now uses API tokens for web service authentication.
  • Pour l’ancienne version R6, vous pouvez aussi entrer les identifiants d’un utilisateur membre de votre équipe.
  • Dans les deux cas, avant d’aller plus loin, vérifiez vos informations d’identification avec le bouton Tester les informations d’identification.

Paramétrez iceScrum avec authentification pour l’ancienne version R6.

Enfin, ajoutez l’action post-build iceScrum qui enverra vos données de build à votre serveur iceScrum.

Ajouter une action de post-build pour mettre à jour le statut sur iceScrum

Si vous avez plusieurs jobs pour votre projet iceScrum, n’oubliez pas d’ajouter l’action post-build à chacun d’entre eux. Ensuite, le plugin enverra automatiquement les données de build à votre projet iceScrum pour chaque build qui inclut des commits avec le modèle de nomination de tâche iceScrum.

Action iceScrum post-build

App Travis CI

Cette section décrit comment lier iceScrum avec votre serveur CI Travis.

iceScrum configuration


La seule configuration à faire sur votre projet iceScrum est d’activer l’App Travis CI.

Configuration de Travis CI


Configurer un webhook
 
Afin de notifier iceScrum sur le statut du build de Travis CI, vous devez ajouter une notification webhook au fichier .travis.yml de votre projet.

language: groovy
notifications:
  webhooks:
    urls:
      - https://cloud.icescrum.com/ws/project/PEETIC/build/travis?icescrum-token=dad27aff397bfes32fdab987
    on_failure: always
    on_start: never
    on_cancel: always
    on_error: always

 
L’URL du webhook est construite de cette manière :

$server/ws/project/$project/build/travis?icescrum-token=$access_token
  • serveur: l’URL de votre serveur iceScrum. Pour une instance iceScrum cloud c’est
    https://cloud.icescrum.com
  • projet: L’ID ou la clef de votre projet iceScrum
  • access_token: jeton d’accès à l’API iceScrum. Apprenez comment générer un jeton d’API iceScrum.

 
Voici un example d’URL webhook pour le projet cloud PEETIC :

https://cloud.icescrum.com/ws/project/PEETIC/build/travis?icescrum-token=dad27aff397bfes32fdab987

 
Pour en savoir plus sur les notifications de webhook consultez la documentation officielle de Travis CI.
 
Sécurisez votre jeton api :
 
Le paramètre urls doit être sécurisé car il contient un jeton iceScrum. Travis CI vous permet de crypter les variables dans le fichier .travis.yml de votre projet.

# gem install travis
$ cd ~/pathtoproject/myproject
$ travis encrypt '$server/ws/project/$project/build/travis?icescrum-token=$access_token'

 
Insérez ensuite le résultat dans le fichier .travis.yml de votre projet.
Un tiret reste nécessaire devant la déclaration « secure: », car il ne faisait pas partie de la chaîne cryptée.

language: groovy
notifications:
  webhooks:
    urls:
      - secure: &amp;quot;i3Lq3diKBsskZL5QAnNMwYhMjG7MkApeFORj1HfZAwbbFynESB4ZpRQuMbMmKuFm61H/hgVaXfSvHxREfJZEKf71Le1jBYYdnsMZolOvi3NFlFZ5NZMOmsGm9csoJbXxvDGbmg8N6+ecaE/D/6tHPBlO1Hjd5WyqfDRMEl7VmsA258rOj7PHzY0ne+kRUgIc0Q5DYxfVoh2oHs6FSJHDLKJJHwUqrLDSy9lJHJyBjJZUHvRtycavXKvWE9r0zqE2TR1amKFa7YXWseppSvjUOkAwgOx6GXcwzX2ror6X8akns26GY46NvdYlVDzWIw9ArgoUKJF6VM/3wn23CgEMUlDy10w3eSR4Tnni107MzkO7wn+Ovy+xJP/wyZnJYmsgSUyGnERvAkjIHsDOkqCtEbDQbsvS4ggyogATBkLRqsRGPZKrrN/6CQX8Stl67AztFT79pb4Iijd0fJIOag3nkF0m5/dEgHHtsKEMgvHf5CF9T7EEJfVhqbQuv072rIc3CXUkkK3+5196EcnZIzRyx20cblEkTbVx+zMtFI8vg7QsSFdR9NEf3p1uwH5RGzdj6FWJ/jQUoM2i9Sv+Z9rRYUQo0rXDld9inJh26BjTvRkzf4ZDjyISAcbKiz2yZBTiCJh9UGyWCXmw8OP+vBhKTBvHnOYdCzkDAbSh1nw=&amp;quot;
    on_failure: always
    on_start: never
    on_cancel: always
    on_error: always

 
Pour en savoir plus lisez la documentation Travis CI officielle.

App Visual Studio Team Services CI

Profitez d’une intégration complète entre iceScrum et Visual Studio Team Services avec un ensemble d’Apps iceScrum dédiées.

  • VSTS work items : Créez des stories dans iceScrum depuis les work items VSTS.
  • VSTS CI : Liez vos builds VSTS avec iceScrum.
  • VSTS code : Liez vos commits VSTS à vos tâches iceScrum.

Cette section décrit comment lier iceScrum avec votre serveur Visual Studio Team Services CI.

iceScrum configuration

La seule configuration à faire sur votre projet iceScrum est d’activer l’App Visual Studio Team Services CI.

Configuration de VSTS


Tout d’abord installez l’extension iceScrum pour Visual Studio Team Services depuis le market place Visual Studio.

Ensuite, ajoutez la tâche notify iceScrum à vos définitions de build existantes. Rendez vous dans le menu Build and Releases, modifiez une définition de build et ajoutez une tâche à une phase. Vous trouverez alors la tâche de build iceScrum en cherchant « iceScrum »ou en parcourant la section Utility.

La tâche notify iceScrum doit être placée à la fin de la dernière phase de build.

Entrez l’URL de votre projet :

$server/p/$project

Si vous utilisez iceScrum Cloud, l’URL sera :

https://cloud.icescrum.com/p/$project

iceScrum utilise désormais des jetons d’API pour l’authentification des web services. Apprenez comment générer un jeton d’API iceScrum.

Le jeton d’accès iceScrum doit être configuré en tant que process variable icescrum.accessToken. Ajoutez la variable et cliquez sur le cadenas pour assurer le stockage sécurisé du jeton.


L’option de contrôle doit être définie pour jouer la tâches even if a previous task has failed, even if the build was canceled. Ceci permet à iceScrum d’afficher aussi les builds annulés ou en échec.

N’oubliez pas de sauvegarder les modifications.


Essayez gratuitement dès maintenant
Tout ce dont vous avez besoin pour gérer vos projets agiles