update

Статус сборки

Описание роли

Устанавливает обновления на вашей системе.

Пример плейбука

Этот пример взят из molecule/default/converge.yml и тестируется при каждом коммите, запросе на слияние и выпуске.

---
- имя: Конвергенция
  хосты: все
  становятся: true
  собирают_факты: false

  роли:
    - роль: tehtbl.update

Машина, на которой вы выполняете это, может потребовать подготовки. Я использую этот плейбук, чтобы убедиться, что все готово для работы роли.

---
- имя: Подготовка
  хосты: все
  становятся: true
  собирают_факты: false

  роли:
    - tehtbl.bootstrap

Переменные роли

Эти переменные определены в defaults/main.yml:

---
# ------------------------------------------------------------------------
# файл по умолчанию для обновления
# ------------------------------------------------------------------------

# Для APT (Debian/Ubuntu) только: удалите неиспользуемые зависимости для всех модулей, кроме `build-dep'
update_autoremove: false

# Для APT (Debian/Ubuntu) только: тип apt_upgrade, который может быть: dist, full, yes или safe
update_upgrade_command: safe

# Для APT (Debian/Ubuntu) только: обновите кэш apt, если он старше, чем cache_valid_time. Устанавливается в секундах.
update_cache_valid_time: 7200

# При обновлении систем может потребоваться перезагрузка. Здесь вы можете выбрать:
# "yes": всегда перезагружайте, когда пакеты изменились.
# "no": никогда не перезагружайте, когда пакеты изменились.
update_reboot: true

Требования

  • Доступ к репозиторию с пакетами, вероятно, в интернете.
  • Совсем недавняя версия Ansible. (Тесты проводятся на текущем, предыдущем и следующем выпусках Ansible.)

Следующие роли могут быть установлены для обеспечения выполнения всех требований с помощью ansible-galaxy install -r requirements.yml:

- tehtbl.reboot

Контекст

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

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

Эта роль была протестирована на следующих Docker образах:

контейнер тег разрешить ошибки
debian stable нет
debian testing нет
debian unstable да
ubuntu xenial да
ubuntu bionic нет
ubuntu focal нет
ubuntu devel да

Эта роль была протестирована на следующих версиях Ansible:

Тестирование с помощью Tox

Юнит-тесты выполняются при каждом коммите, запросе на слияние, выпуске и периодически.

Если вы найдете проблемы, пожалуйста, зарегистрируйте их в GitHub

Тестирование проводится с использованием Tox и Molecule:

Tox тестирует несколько версий Ansible. Molecule тестирует несколько дистрибутивов.

Чтобы протестировать с использованием значений по умолчанию (любая установленная версия Ansible, пространство имен: tehtbl, изображение: ubuntu, тег: latest):

molecule test

# Или выберите конкретное изображение:
IMAGE="ubuntu" molecule test

# Или выберите конкретное изображение и конкретный тег:
IMAGE="debian" TAG="stable" tox

Или вы можете протестировать несколько версий Ansible и выбрать правильные образы:

Tox позволяет тестировать несколько версий Ansible. Чтобы запустить тесты по умолчанию (пространство имен: tehtbl, изображение: ubuntu, тег: latest):

tox

# Чтобы запустить Ubuntu (пространство имен: `tehtbl`, тег: `latest`)
IMAGE="ubuntu" tox

# Или настройте больше:
IMAGE="debian" TAG="stable" tox -e py37-ansible-current

Тестирование с помощью Vagrant

Установите плагины vagrant с помощью:

vagrant plugin install vagrant-reload

Запустите тесты через провайдер VirtualBox:

vagrant up

Лицензия

Лицензия MIT

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

Источники

Эта работа основана на отличной работе многих людей, таких как Роберт де Бок, Джефф Гирлинг и Томас Вальдман. Спасибо!

Установить
ansible-galaxy install tehtbl/ansible-role-update
Лицензия
mit
Загрузки
1768
Владелец