Pull to refresh

Comments 7

Жирный плюс за список литературы и конечно же за кадр из замечательного фильма.
Только в capistrano не
[Поддиректории versions удобно называть] по порядковому номеру процедуры выкладки
а в куда более логичном варианте yyyyMMddhhmmss. Другой вполне логичный вариант используется в DNS SOA resource record (yyyyMMddNN, где NN — порядковый номер обновления в эту дату).
смешались в кучу кони, код ревью, CI и деплой и каждая из этих тем достойна отдельного упоминания. Начнем с код ревью — для этих целей мы используем Crucible потому что он отлично интегрируется как с svn так и с git, о его возможностях можно говорить очень долго. Код ревью проводим на постоянной основе и к релизам это никак не привязано.
Деплой в большинсте случаев хоть и запускается на jenkins никак с CI не завязан. Тот же msbuild может отдеплоить проект на удаленный сервер прямо из окна Visual Studio в разных конфигурациях и настройках, а для jenkins есть Publish Over SSH Plugin с выполнением набора команд на удаленном сервере, что сводит написание деплой-скриптов до минимума. Для мобильных разработчиков есть плагины для аплоада на testflight и hockeyapp. К jenkins можно прикрутить большинство современных инструментов статического анализа кода — существую плагины для cppcheck, pdm, clang scan build и им подобным, которые в красивой форме покажут текущее состояние на проекте. С помощью параметризированной сборки легко решается задача выкатывания билда определенной или последней ревизии для QA инженера, иногда это спасает уйму времени.
Хочу добавить что за все время общения с jenkins мне пришлось писать руками скрипт всего один раз — нужна была параметризованная сборка проекта на actionscript и adobe flash
Нельзя делать билд (окромя локального дебага) на Dev машине, да еще и из под IDE. Если мы все-таки говорим о CI, то билд — это не просто компиляция и линковка. Девелоперская IDE может быть настроена не так, как у коллеги за соседним столом, да и сам environment может отличатся, в конечном счете есть риск получить разные бинарники из одного и того-же кода. Я уже молчу про «а на моей машине все работает!». Только выделенный CI сервер и адекватный билд тул.
Давно заметил, что на всех вменяемых проектах используется связка: Git, Jenkins, JIRA, Gerrit, Mailing Lists. Хотя можно заменить Gerrit через review в Mailing Lists. Еще можно посоветовать использовать cgit в качестве веб-интерфейса для git.
А как вы поступаете с БД/миграциями?
Выкладка кода регулярно сопровождается изменениями в БД. И переключение между старой версией кода и новой может занимать как раз время, необходимое для наката миграций.
Sign up to leave a comment.