- Создать два VM: для jenkins-master и jenkins-agent. VM в Yandex Cloud разворачиваются по средствам terraform, создаётся динамический hosts-файл
- Установить Jenkins при помощи playbook.
- Запустить и проверить работоспособность.
- Сделать Freestyle Job, который будет запускать
molecule test
из любого вашего репозитория с ролью.
- Сделать Declarative Pipeline Job, который будет запускать
molecule test
из любого вашего репозитория с ролью.
- Перенести Declarative Pipeline в репозиторий в файл
Jenkinsfile
.
- Создать Multibranch Pipeline на запуск
Jenkinsfile
из репозитория.
- Создать Scripted Pipeline, наполнить его скриптом из pipeline.
- Внести необходимые изменения, чтобы Pipeline запускал
ansible-playbook
без флагов--check --diff
, если не установлен параметр при запуске джобы (prod_run = True). По умолчанию параметр имеет значение False и запускает прогон с флагами--check --diff
.
-
Проверить работоспособность, исправить ошибки, исправленный Pipeline вложить в репозиторий в файл ScriptedJenkinsfile.
-
Отправить ссылку на репозиторий с ролью и Declarative Pipeline и Scripted Pipeline.
- Создать скрипт на groovy, который будет собирать все Job, завершившиеся хотя бы раз неуспешно. Добавить скрипт в репозиторий с решением и названием
AllJobFailure.groovy
. - Создать Scripted Pipeline так, чтобы он мог сначала запустить через Yandex Cloud CLI необходимое количество инстансов, прописать их в инвентори плейбука и после этого запускать плейбук. Мы должны при нажатии кнопки получить готовую к использованию систему.
Выполненное домашнее задание пришлите в виде ссылки на .md-файл в вашем репозитории.