Сейчас только ленивый не говорит про DevOps, краеугольным камнем которого является организация потока непрерывной доставки ценности клиенту. Continuous Delivery перестаёт быть опцией и становится обязательным требованием.
В докладе будут рассмотрены:
- общие подходы к организации Continuous Delivery на базе Jenkins-а в совсем не тепличных условиях
- практики и подходы, которые позволяют быстро настраивать и собирать десятки микросервисов
- подводные камни, с которыми пришлось столкнуться, и способы борьбы с ними
32. А зачем нам
человек?
Недостаточный уровень
автоматизации
Невозможность принять решение
go-nogo в автоматическом
режиме
Формальные процедуры и
процессы
38. Не хватает
возможностей?
Это OpenSource, всегда можно
написать свой плагин или
доработать существующий
Пул-реквесты не всегда будут
приняты
… или будут приняты через
продолжительное время
43. Не жди,
используй
Juseppe?
OpenSource UpdateCenter
Можно собирать свои версии
плагинов раньше, чем они
попадут в UpdateCenter
Решает проблемы с сетевым
доступом (это когда у мастера нет
доступа в интернет)
https://github.com/yandex-qatools/juseppe
44. Сетевые
ограничения
Разные среды в разных DMZ
Сложно заказывать доступы
между машинами
Решение в использовании
slave-ов с разными лэйблами для
разных сред/сетевых сегментов
46. Конфигурация
как код
Не хочется делать Backup-ы
Команд много и есть желание
быстро поднимать и
конфигурировать новые
экземпляры
Immutable-конфигурация
47. Блеск и нищета
конфигурации
Легко конфигурировать джобы
(см. JobDSL и Pipeline Plugin)
Добавлять мета-джобы можно
через jenkins-cli
Сложно конфигурировать сам
Jenkins: credentials, tools, plugins
(шаблонизация xml, init groovy
scripts, API etc.)