CODE-RADE-build-containers

DOI License Build Status

Контейнеры для сборки CODE-RADE

Используемые роли

Этот репозиторий содержит код Ansible-Container для создания slave-контейнеров сборки CODE-RADE. Он использует AAROC.CODE-RADE-container роль из Ansible Galaxy

Контейнеры

Контейнеры создаются с помощью Ansible Container и хранятся на quay.io. Мы создаем следующие базовые образы:

Образ Статус
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

Контейнеры могут быть использованы, скачав их с quay.io, например:

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

Контейнер добавляет пользователя, jdk и ssh демона для jenkins, а также некоторые уникальные элементы CODE-RADE:

  • Модульный файл ci, который задает несколько переменных:
    • $SOFT_DIR: Путь установки программного обеспечения для CI окружения setenv SOFT_DIR /data/ci-build/$::env(SITE)/$::env(OS)/$::env(ARCH)/$::env(NAME)/$::env(VERSION)
    • $REPO_DIR: Созданные артефакты (в tarball) в CI окружении setenv REPO_DIR /data/artefacts/$::env(SITE)/$::env(OS)/$::env(ARCH)/$::env(NAME)/$::env(VERSION)
    • $SRC_DIR: Локальный кэш для исходных tarball setenv SRC_DIR /data/src/$::env(NAME)/$::env(VERSION)
    • $MODULES: Путь к файловым модулям для CI окружения set MODULES /data/modules
  • Модульный файл deploy, который задает те же переменные, за исключением того, что корень $SOFT_DIR расположен в /cvmfs
  • Контейнер данных (CODE-RADE-data) используется для сохранения данных от сборки к сборке и для обеспечения портативности сборок.

Контейнеры данных

Мы используем шаблон контейнера данных для обеспечения постоянства артефактов сборки между заданиями. Эти данные указаны в container.yml только для Docker.

Чтобы собрать

Чтобы собрать контейнеры, вы можете просто сделать:

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

Публикация в реестр изображений

container.yml содержит спецификацию, каких реестров используется. Мы по умолчанию используем quay. Чтобы отправить собранное изображение в реестр для использования на другом сайте сборки, выполните:

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

Запуск

Эти контейнеры предназначены для автоматического развертывания системой CI. Точка входа по умолчанию - ssh на порту 5200.

Вы можете использовать их для проверки сборок локально. Чтобы их запустить, выполните:

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

Затем подключитесь к работающему контейнеру:

ssh [email protected] -p 5200

Развертывание

Как уже упоминалось, эти контейнеры созданы для развертывания из CI окружений. Если вы действительно хотите запустить статический кластер сборки, вы можете использовать команду --deploy в Ansible Container. См. https://docs.ansible.com/ansible-container/reference/deploy.html для вариантов развертывания.

Цитирование

Если вы производите исследование или другой контент, и эти контейнеры являются частью этого рабочего процесса, пожалуйста, цитируйте как:
Брюс Бекер. (2017). AAROC/CODE-RADE-build-containers: Код-РАДЕ Фонд Выпуск 3 - Контейнеры сборки [Набор данных]. Zenodo. http://doi.org/10.5281/zenodo.572275

О проекте

Describe your awesome application here.

Установить
ansible-galaxy install AAROC/CODE-RADE-build-containers
Лицензия
apache-2.0
Загрузки
162