image_builder
image_builder
Позвольте вашей системе использовать Lorax, сборщик образов.
Travis | GitHub | Качество | Скачивания | Версия |
---|---|---|---|---|
Пример игры
Этот пример взят из molecule/resources/converge.yml
и проверяется при каждом пуше, запросе на слияние и выпуске.
---
- name: converge
hosts: all
become: yes
gather_facts: yes
roles:
- role: robertdebock.image_builder
Машина может потребовать подготовки с использованием molecule/resources/prepare.yml
:
---
- name: prepare
hosts: all
become: yes
gather_facts: no
roles:
- role: robertdebock.bootstrap
Для проверки molecule/resources/verify.yml
запускается после применения роли.
---
- name: Verify
hosts: all
become: yes
gather_facts: no
tasks:
- name: Проверить, работает ли соединение
ping:
Также смотрите полное объяснение и пример о том, как использовать эти роли.
Переменные роли
Эти переменные задаются в defaults/main.yml
:
---
# файл по умолчанию для image_builder
image_builder_product: имя-шаблона
image_builder_description: Мой первый шаблон
image_builder_version: 0.0.1
image_builder_installed_packages:
- name: screen
version: "4.*"
- name: lsof
version: "*"
# Используйте одно из следующих значений: alibaba, ami, ext4-filesystem, google, live-iso,
# openstack, partitioned-disk, qcow2, tar, vhd или vmdk
image_builder_type: tar
Требования
- Доступ к репозиторию с пакетами, вероятно, в интернете.
- Последняя версия Ansible. (Тесты запускаются на текущей, предыдущей и следующей версиях Ansible.)
Следующие роли могут быть установлены для обеспечения выполнения всех требований, используя ansible-galaxy install -r requirements.yml
:
---
- robertdebock.bootstrap
Контекст
Эта роль является частью многих совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.
Вот обзор связанных ролей:
Совместимость
Эта роль была протестирована на этих контейнерных изображениях:
контейнер | теги |
---|---|
el | 7, 8 |
fedora | все |
Минимальная требуемая версия Ansible - 2.9, тесты проводились на:
- Предыдущей версии.
- Текущей версии.
- Версии разработки.
Тестирование
Модульные тесты проводятся при каждом коммите, запросе на слияние, выпуске и периодически.
Если вы нашли проблемы, пожалуйста, зарегистрируйте их на GitHub
Тестирование производится с использованием Tox и Molecule:
Tox тестирует несколько версий ansible. Molecule тестирует несколько дистрибутивов.
Чтобы протестировать, используя настройки по умолчанию (любая установленная версия ansible, пространство имен: robertdebock
, изображение: fedora
, тег: latest
):
molecule test
# Или выберите конкретное изображение:
image=ubuntu molecule test
# Или выберите конкретное изображение и конкретный тег:
image="debian" tag="stable" tox
Или вы можете протестировать несколько версий Ansible и выбрать образы:
Tox позволяет тестировать несколько версий Ansible. Чтобы запустить тесты по умолчанию (пространство имен: robertdebock
, изображение: fedora
, тег: latest
):
tox
# Чтобы запустить CentOS (пространство имен: `robertdebock`, тег: `latest`)
image="centos" tox
# Или настройте больше:
image="debian" tag="stable" tox
Лицензия
Apache-2.0
Информация об авторе
Пожалуйста, рассмотрите возможность финансирования меня.
ansible-galaxy install robertdebock/ansible-role-image_builder