- Создать 2 VM: для jenkins-master и jenkins-agent.
- Установить jenkins при помощи playbook'a.
- Запустить и проверить работоспособность.
- Сделать первоначальную настройку.
- Сделать 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
. Цель: получить собранный стек ELK в Ya.Cloud. - Отправить две ссылки на репозитории в ответе: с ролью и Declarative Pipeline и c плейбукой и Scripted Pipeline.
- Создать скрипт на groovy, который будет собирать все Job, которые завершились хотя бы раз неуспешно. Добавить скрипт в репозиторий с решеним с названием
AllJobFailure.groovy
. - Дополнить Scripted Pipeline таким образом, чтобы он мог сначала запустить через Ya.Cloud CLI необходимое количество инстансов, прописать их в инвентори плейбука и после этого запускать плейбук. Тем самым, мы должны по нажатию кнопки получить готовую к использованию систему.
Выполненное домашнее задание пришлите ссылкой на .md-файл в вашем репозитории.