No description, website, or topics provided.
Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
auto_build
.gitignore
CI_package_check_cron
README.md
analyseCI.sh Log pendant les tests Feb 18, 2017
build_CI.sh
config.modele
lxc_stop.sh
pcheckCI.sh
rapportCI.sh Corrections mineures et Officielles en premier Jan 24, 2017

README.md

Intégration Continue (CI) avec Package check pour YunoHost

Yunohost project

Petit ensemble de script pour interfacer tout logiciel d'intégration continue avec Package check.

Usage:

Indiquer simplement dans la tâche du logiciel de CI le script analyseCI.sh ainsi que le dépôt git à tester et le nom du test.

/PATH/analyseCI.sh "https://github.com/YunoHost-Apps/APP_ynh" "Nom du test"

Fonctionnement:

Le script pcheckCI.sh est lancé toutes les 5 minutes par la tâche cron.
Si un dépôt git est indiqué dans le fichier work_list, il est testé à l'aide de Package_check et le dépôt est retiré de la liste.

Le résultat du test est stocké dans le dossier logs.

Le script analyseCI.sh est utilisé par le logiciel de CI qui surveille les dépôts git. Lorsqu'il est lancé, il ajoute le dépôt à tester à la suite du fichier work_list.
Il attend le test de son package, puis interprète le résultat contenu dans le log pour savoir si le test à échoué ou non.


Ce contournement du logiciel de CI à 2 raison d'être.

  • D'une part, il permet de ne pas être dépendant d'un seul logiciel. En l'occurence, les scripts ont été conçus pour Jenkins, mais peuvent être utilisé par n'importe quel logiciel.
  • D'autre part, il résoud le problème des droits administrateurs nécessités par certaines actions de Package_check. Le logiciel de CI garde ses droits d'exécution normaux, seul le script pcheckCI.sh est exécuté avec les droits root par la tâche cron.

Utilisation de machines distantes:

Pour tester les packages sur diverses architectures processeur, il est possible d'utiliser des machines distantes en ssh pour exécuter d'autres instance de Package check. La machine distante doit disposer d'une instance fonctionnelle de CI_package_check

Pour utiliser les architectures il faut tout d'abord ajouter au nom du test le nom de l'architecture à tester. Le nom du test est le 2e argument à donner à analyseCI.sh
Les arguments supportés pour les architectures sont:

  • (~x86-64b~)
  • (~x86-32b~)
  • (~ARM~) Ce qui donne par exemple
/PATH/analyseCI.sh "https://github.com/YunoHost-Apps/APP_ynh" "Nom du test (~x86-64b~)"

Les machines distantes seront utilisée en ssh, elles nécessiteront un accès ssh avec une clé publique sans passphrase.

ssh-keygen -t rsa -b 4096 -N "" -f "pcheckCI_key"
ssh-copy-id -i pcheckCI_key.pub login@server

Le fichier de config doit être adapté selon les machines distantes utilisées.
Pour chaque architecture à tester en ssh, il faut remplacer Instance=LOCAL par Instance=SSH et renseigner les informations de connexion ssh.