AAROC.CODE-RADE-build-containers

DOI License Build Status

Contenedores de construcción CODE-RADE

Roles utilizados

Este repositorio contiene el código Ansible-Container para construir los contenedores esclavos de construcción CODE-RADE. Utiliza el AAROC.CODE-RADE-container rol de Ansible Galaxy.

Contenedores

Los contenedores se construyen con Ansible Container y se almacenan en quay.io. Construimos las siguientes imágenes base:

Imagen Estado
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

Los contenedores pueden ser utilizados descargándolos de quay.io, por ejemplo:

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

El contenedor añade un usuario, jdk y un daemon ssh para Jenkins, así como algunas características especiales de CODE-RADE:

  • El archivo de módulo ci, que configura algunas variables:
    • $SOFT_DIR: La ruta de instalación de software para el entorno CI setenv SOFT_DIR /data/ci-build/$::env(SITE)/$::env(OS)/$::env(ARCH)/$::env(NAME)/$::env(VERSION)
    • $REPO_DIR: Los artefactos construidos (en tarball) en el entorno CI setenv REPO_DIR /data/artefacts/$::env(SITE)/$::env(OS)/$::env(ARCH)/$::env(NAME)/$::env(VERSION)
    • $SRC_DIR: La caché local para los tarballs de origen setenv SRC_DIR /data/src/$::env(NAME)/$::env(VERSION)
    • $MODULES: La ruta a los archivos de módulos para el entorno CI set MODULES /data/modules
  • El archivo de módulo deploy, que configura las mismas variables, excepto que la raíz de $SOFT_DIR está bajo /cvmfs.
  • Un contenedor de datos (CODE-RADE-data), utilizado para persistir los datos de una construcción a otra y hacer que las construcciones sean portátiles.

Los Contenedores de Datos

Utilizamos el patrón de contenedor de datos para proporcionar persistencia a los artefactos de construcción entre trabajos. Esto se expresa en el container.yml solo para Docker.

Para construir

Para construir los contenedores, simplemente puedes hacer:

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

Publicar en el registro de imágenes

El container.yml contiene la especificación de qué registros se utilizan. Usamos quay por defecto. Para publicar la imagen construida en un registro, de modo que sea utilizable por otro sitio de construcción, haz

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

Ejecutar

Estos contenedores están diseñados para ser provisionados automáticamente por un sistema CI. El punto de entrada predeterminado es ssh en el puerto 5200.

Puedes usarlos para verificar construcciones localmente. Para ejecutarlos, haz:

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

Luego accede al contenedor en ejecución:

ssh jenkins@172.17.0.2 -p 5200

Despliegue

Como se mencionó antes, estos contenedores son para el aprovisionamiento desde entornos CI. Si realmente deseas ejecutar un clúster de construcción estático, puedes usar el comando --deploy de Ansible Container. Consulta https://docs.ansible.com/ansible-container/reference/deploy.html para opciones de despliegue.

Citación

Si produces investigaciones u otros resultados y estos contenedores son parte de ese flujo de trabajo, por favor, cita como:
Bruce Becker. (2017). AAROC/CODE-RADE-build-containers: Código de FUNDACIÓN CODE-RADE Lanzamiento 3 - Contenedores de Construcción [Conjunto de datos]. Zenodo. http://doi.org/10.5281/zenodo.572275

Acerca del proyecto

Describe your awesome application here.

Instalar
ansible-galaxy install AAROC.CODE-RADE-build-containers
Licencia
apache-2.0
Descargas
183