Как стать автором
Обновить

Комментарии 11

У меня процесс реализован по-другому.
1. Есть development build, который следит за коммитами и выполняет «лёгкие» задачи — статический анализ кода, юнит-тесты с моками, рассылает уведомления о упавшем билде, собирает статистику и строит красивые графики. Никакого deployment здесь не происходит.
2. Есть qa build, который запускает qa (извините за тафтологию). Тут уже прогоняются все тесты, юниттесты и selenium, и в случае успеха, происходит deploy проекта и создание тега в SVN.
3. Есть release build. Для его запуска из dropdown можно выбрать тег для релиза и этот билд только произведёт deploy релиза проекта.
«Шикарная» статья. Берем хрень — тут все просто. Еще одну хрень — тоже все просто. Еще одну — все конечно просто. Складываем хрени вместе — тут все элементарно… Зачем это все писалось крогме очевидного — крикнуть громко на весь хабр «Я крут, я CI для php проектов юзаю» — непонятно.
Спасибо за критику, в следующий раз постараюсь более подробно описывать.
Цель статьи — поделиться наработками в направлении CD, кому-то она будет полезной, а кто-то укажет на ошибки и возможные проблемы, либо предложит лучший вариант.
А где про "«безболезненного» деплоинга для php приложений"?
Почему у вас в заголовке (и тегах) написано Continuous Delivery, а в статье упоминается только Continuous Integration? В чем отличия?
Continuous Delivery — конвеер доставки приложения в конечную точку, состоящий из нескольких шагов: сборка проекта, выпуск релиза, тестирование командой QA, деплой на сервера. Шаги могут варьироваться.
Continuous Integration — один из шагов, который выполняет регулярные сборки в целях мониторинга состояния приложения на стадии разработки.
Continuous Delivery — конвеер доставки приложения в конечную точку, состоящий из нескольких шагов: сборка проекта, выпуск релиза, тестирование командой QA, деплой на сервера. Шаги могут варьироваться.

И что в этом процессе continuous?

Вы одноименную книжку читали?
Я сначала тоже тэги использовал (у меня гит на проекте), но потом перешел на создание брэнчей для того, чтоб вносить изменения именно в тот код, который на прод пошел.
Теги в стабильной ветке нужны для того, чтобы при деплое указывать конкретную версию релиза, т.к у нас команды разработчиков и тестеров работают независимо друг от друга и на момент пока тестеры проверят одну версию релиза, разработчики могут выпустить следующую.
Это понятно.
Тэг в гите — это просто алиас на комит. В этом плане все хорошо. Проблемы возникнут, если были собраны новые версии, а фиксить нужно одну из предыдущих (в случае, если билды на прод попадают раз в неделю как у нас, а девелоперские билды происходят ежедневно).
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории