Organisation de Jenkins

Fonctionnement de jenkins

La plupart de la configuration de jenkins est générée depuis les fichiers Yaml du dépot ‘eole-ci-tests’. Les modifications de ces fichiers vont créer des jobs dans Jenkins.

Accès à jenkins

Depuis un navigateur, aller sur “http://jenkins/eole.lan”. Puis se connecter avec son compte de la forge Redmine

Onglets et Catégorie

depuis la page d’acceuil, nous voyons :

  • un onglet ‘EOLE’ qui contient un dossier par version EOLE. Lorsqu’un test est crée dans eole-ci-tests, suivant les contraintes de version, il sera “instancié” dans chaque dossier version

  • un onglet ‘Infra’ qui contient deux dossiers ‘infra’ et ‘Internes’ dans ‘infra’, nous trouvons tous les jobs de génération des images ‘non EOLE’ (windows, debian, ubuntu, robot, rie)

    dans ‘Internes’, nous touvons tous les jobs de configuration de jenkins lui-même et les modele (template) des jobs EOLE.

Dans chaque onglet, les jobs sont regroupés par catégorie. Ce regroupement permet de “trier” les jobs par rapport à leurs dépendances

Job Utiles

  • pipeline-run-at-18h-lundi-a-jeudi C’est le job racine lancement tout le pipeline de test en semaine Il se déclenche automatiquement
  • pipeline-run-at-vendredi C’est le job racine lancement tout le pipeline de test pour le week end Il se déclenche automatiquement
  • pipeline-update-jenkins Ce job actualise jenkins d’après les modifications faites sur les ficheirs Yaml du depot eole-ci-tests Il est lancé systématiquement en début de pipeline-run-at-18h-lundi-a-jeudi
  • run-all-jobs-with-pattern Ce job sert à lancer une série de build suivant des critéres donnés. Par défaut, le mode ‘try’ est actif
  • run-update-jenkins-jobs Ce job met à jour les templates dans OpenNebula. Il est executé au moins une fois par jour. Il peut être lancé manuellement pour forcer l’actualisation si une modification des Yaml a été faite.
  • git-clone-eole-ci-tests-to-all-vm Ce job scrute les modifications dans eole-ci-tests Il est executé au moins une fois par jour. Il se déclenche à chaque commit sur le dépot ‘eole-ci-tests’. Le job vérifie la qualité du commit puis synchonise les changements sur le partage commun à toutes les machines