Sur Github: https://github.com/c4s4/continuum
Continuum est un outil d’intégration continue léger: pas d’interface web, pas de planificateur. Il s’exécute sur la ligne de commande et est déclenché par cron.
Déposez l’exécutable de votre plateforme continuum_os_arch, dans le répertoire bin de l’archive de distribution, quelque part dans votre PATH et renommez-le continuum. Par exemple, sur Linux 64 bits, vous devez copier continuum_linux_amd64 vers /usr/local/bin/continuum.
La configuration est au format YAML :
directory: /tmp
status: /tmp/continuum-status.yml
port: 6666
email:
smtp-host: smtp.nowhere.com:25
recipient: nobody@nowhere.com
sender: nobody@nowhere.com
success: true
once: true
modules:
- name: Continuum
url: https://github.com/c4s4/continuum.git
branch: develop
command: |
set -e
make test
La première partie indique:
Si vous attendez de recevoir des rapports par courrier électronique, fournissez les champs suivants:
La deuxième partie est constituée de la liste des modules, avec, pour chaque module:
Vous pouvez passer le fichier de configuration à utiliser sur la ligne de commande. Si vous ne passez pas le fichier de configuration sur la ligne de commande, continuum recherchera les fichiers suivants :
Ce script est déclenché en utilisant cron, avec une configuration comme suit (dans le fichier /etc/cron.d/continuum) :
# /etc/cron.d/continuum
# cron configuration to run gontinuum
SHELL=/bin/sh
PATH=/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
# run continuum every 15 minutes
*/15 * * * * user continuum >> /tmp/continuum.log
Cela lancera continuum toutes les 15 minutes. Lorsque le continuum commence, il vérifie si le référentiel a changé pour tous les modules, en comparant son hachage avec celui stocké dans le fichier status.
Si le référentiel a changé, continuum le clone et exécute la commande pour les tests. Si le script renvoie 0 (qui est la norme Unix pour dire qu’une commande a réussi), le test est OK, sinon c’est un échec.
Continuum affiche un résumé des résultats des tests et envoie un e-mail (ou non en fonction des paramètres de configuration de la messagerie) pour chaque test. La configuration email recommandée est de définir success et once à true. Cela enverra un email quand le statut d’un module change (donc si un build qui était en erreur réussit ou inversement).
Enjoy!