Continuous delivery on IBMi

40
IBMI MEETUP #1 bit.do/IBMi

Transcript of Continuous delivery on IBMi

IBMI MEETUP #1

bit.do/IBMi

Continuous delivery на IBMi

70% - раз в неделю28% - несколько раз в день

https://www.nginx.com/resources/library/app-dev-survey/

Каждые 11 секунд

https://www.youtube.com/watch?v=dxk8b9rSKOo

Основные devOps практики• Непрерывная интеграция

Основные devOps практики• Непрерывная интеграция• Автотесты

Основные devOps практики• Непрерывная интеграция• Автотесты• Инфраструктура как код

Основные devOps практики• Непрерывная интеграция• Автотесты• Инфраструктура как код• Непрерывное развертывание

Основные devOps практики• Непрерывная интеграция• Автотесты• Инфраструктура как код• Непрерывное развертывание• Нагрузочное тестирование

Основные devOps практики• Непрерывная интеграция• Автотесты• Инфраструктура как код• Непрерывное развертывание• Нагрузочное тестирование• Мониторинг быстродействия приложения

Основные этапы разработки

Source Build Test Deploy

Уровни автоматизации релиза

Source Build Test Deploy

Continuous integration

Continuous deployment

Continuous delivery

Continuous deployment

Continuous delivery

Source Build Test Deploy

Continuous integration

Continuous delivery

Что дает continuous delivery?• Автоматизация процесса релиза ПО• Увеличение продуктивности разработчика• Более раннее нахождение ошибок• Быстрая доставка изменений

Мы просто ждем

ОжиданиеКод ОжиданиеТест ОжиданиеПрод

Часы Дни Мин Дни Мин Дни

Мы просто ждем

ОжиданиеКод ОжиданиеТест ОжиданиеПрод

Часы Дни Мин Дни Мин Дни

Недели

Мы просто ждем

ОжиданиеКод ОжиданиеТест ОжиданиеПрод

Часы Дни Мин Дни Мин Дни

Недели

Что нас не устраивало?• Долгий процесс прохождения доработки по стадиям

• Много ручной работы• Неоптимальное хранение исходников

Что с этим делать?

• Подключить систему контроля версий

• Настроить Continuous Deployment

Начинаем с малого• Заменить разработку в библиотеке на сервере на систему контроля версий

• Автоматизировать повышение версии, выпуск документации, установку поставки при внесении изменения

• После появления стабильной версии проводить установку в тестовую среду без участи человека

GIT Распределенная система контроля версий

Все ходы записаны

Командная разработка

Code review

Jenkinsсервер автоматизации

Workflow

Workflow

Workflow

Workflow

Workflow

Что у нас?

Наш worflow

Как jenkins понимает что делать?

POM

Project object model• “pomVersion"• "project": {”id”, "type", "version”, "name”, “gitRepo”}• "dependencies”• "history"

Работает ли на практике?