AAROC.CODE-RADE-build-containers

DOI License Build Status

Conteneurs de construction CODE-RADE

Rôles utilisés

Ce dépôt contient le code Ansible-Container pour construire les conteneurs d'esclaves de construction CODE-RADE. Il utilise le rôle AAROC.CODE-RADE-container d'Ansible Galaxy.

Conteneurs

Les conteneurs sont construits avec Ansible Container et stockés sur quay.io. Nous construisons les images de base suivantes :

Image Statut
CentOS 6 Docker Repository on Quay
Ubuntu 14.04 Docker Repository on Quay
CentOS 7 Docker Repository on Quay
Ubuntu 16.10 Docker Repository on Quay

Les conteneurs peuvent être utilisés en les téléchargeant depuis quay.io, par exemple :

docker pull quay.io/aaroc/code-rade-ubuntu1610

Le conteneur ajoute un utilisateur, un jdk et un démon ssh pour jenkins, ainsi que quelques éléments spécifiques à CODE-RADE :

  • Le fichier ci qui définit quelques variables :
    • $SOFT_DIR : Le chemin d'installation du logiciel pour l'environnement CI setenv SOFT_DIR /data/ci-build/$::env(SITE)/$::env(OS)/$::env(ARCH)/$::env(NAME)/$::env(VERSION)
    • $REPO_DIR : Les artefacts construits (en tarball) dans l'environnement CI setenv REPO_DIR /data/artefacts/$::env(SITE)/$::env(OS)/$::env(ARCH)/$::env(NAME)/$::env(VERSION)
    • $SRC_DIR : Le cache local pour les tarballs sources setenv SRC_DIR /data/src/$::env(NAME)/$::env(VERSION)
    • $MODULES : Le chemin des fichiers de modules pour l'environnement CI set MODULES /data/modules
  • Le fichier deploy qui définit les mêmes variables sauf que la racine de $SOFT_DIR se trouve sous /cvmfs
  • Un conteneur de données (CODE-RADE-data) est utilisé pour conserver les données d'une construction à l'autre et pour rendre les constructions portables.

Les conteneurs de données

Nous utilisons le modèle de conteneur de données pour fournir une persistance des artefacts de construction, à travers les jobs. Ceux-ci sont exprimés dans le container.yml uniquement pour Docker.

Pour construire

Pour construire les conteneurs, vous pouvez simplement faire :

ansible-container --project-name code-rade build --roles-path /home/becker/Ops/AAROC/DevOps/Ansible/roles/ --use-local-python

Pousser vers le registre d'images

container.yml contient la spécification des registres utilisés. Nous utilisons quay par défaut. Pour pousser l'image construite vers un registre, afin de la rendre utilisable par un autre site de construction, faites :

ansible-container --project-name code-rade push --roles-path /home/becker/Ops/AAROC/DevOps/Ansible/roles/ --push-to quay --tag latest

Exécution

Ces conteneurs sont conçus pour être provisionnés automatiquement par un système CI. Le point d'entrée par défaut est ssh sur le port 5200.

Vous pouvez les utiliser pour vérifier les constructions localement. Pour les exécuter, faites :

ansible-container --project-name code-rade run --roles-path /home/becker/Ops/AAROC/DevOps/Ansible/roles/

Ensuite, connectez-vous au conteneur en cours d'exécution :

ssh jenkins@172.17.0.2 -p 5200

Déploiement

Comme mentionné précédemment, ces conteneurs sont destinés à être utilisés depuis des environnements CI. Si vous souhaitez vraiment exécuter un cluster de construction statique, vous pouvez utiliser la commande --deploy d'Ansible Container. Voir https://docs.ansible.com/ansible-container/reference/deploy.html pour les options de déploiement.

Citation

Si vous produisez des recherches ou d'autres résultats et que ces conteneurs font partie de ce processus, veuillez citer comme suit :
Bruce Becker. (2017). AAROC/CODE-RADE-build-containers : CODE-RADE Foundation Release 3 - Build Containers [Jeu de données]. Zenodo. http://doi.org/10.5281/zenodo.572275

À propos du projet

Describe your awesome application here.

Installer
ansible-galaxy install AAROC.CODE-RADE-build-containers
Licence
apache-2.0
Téléchargements
183