CODE-RADE-build-containers
Контейнеры для сборки CODE-RADE
Используемые роли
Этот репозиторий содержит код Ansible-Container для создания slave-контейнеров сборки CODE-RADE. Он использует AAROC.CODE-RADE-container
роль из Ansible Galaxy
Контейнеры
Контейнеры создаются с помощью Ansible Container и хранятся на quay.io. Мы создаем следующие базовые образы:
Образ | Статус |
---|---|
CentOS 6 | |
Ubuntu 14.04 | |
CentOS 7 | |
Ubuntu 16.10 |
Контейнеры могут быть использованы, скачав их с 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
: Локальный кэш для исходных tarballsetenv 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
ansible-galaxy install AAROC/CODE-RADE-build-containers