# Производство ПО как конвеер.

Что это за конвеер?

Создание программного обеспечения представялет из себя несколько этапов. Рабочий процесс может отличаться от текущего, но в основном подходы отличаются очередью выполнения.

1) Написание кода - не представляет ничего сложного:
	1) Забираем изменения из репозизтория
    2) Вносим изменения и коммитим
    3) Пуши изменения в репозиторий
2) Публикация его в репозиторий - после того как вы его запушили в репозиторий 
    1) Ваши изменения требуют мердж реквест в `test` ветку
    2) После того как мердж реквест пройден(изменения одобрил ведущий разрабочик)
    3) Дальше изменения переходят к пункту 3 и идут дальше. 
3) Создание образа(рамках нашего проекта это будет docker)
	1) Подготавливается образ
    2) Образ пушится в облако
4) Тестирование образа и релиз
	1) Происходит тестирование
    2) Если тестирование успешно пройдено, то производится резил образа.
5) Развертывание образа
	1) Запускается скрипт, который тригерит обновления окружения.

Если пункт 5 завершился успешно, то теперь пункт 2 выполняется полностью для ветки `master`, И дальше опять пункты 3-5, только уже для производственного окружения.