image_builder

image_builder

Позвольте вашей системе использовать Lorax, сборщик образов.

Travis GitHub Качество Скачивания Версия
travis github quality downloads Version

Пример игры

Этот пример взят из 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

Контекст

Эта роль является частью многих совместимых ролей. Ознакомьтесь с документацией этих ролей для получения дополнительной информации.

Вот обзор связанных ролей: dependencies

Совместимость

Эта роль была протестирована на этих контейнерных изображениях:

контейнер теги
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

Информация об авторе

Robert de Bock

Пожалуйста, рассмотрите возможность финансирования меня.

О проекте

Allow your system to use Lorax, the image builder.

Установить
ansible-galaxy install robertdebock/ansible-role-image_builder
Лицензия
apache-2.0
Загрузки
82
Владелец
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.