Интеграция со сборочными серверами

Практически любой программный продукт требует сборки (компиляции, компоновки, интеграции и т.п.), которая по сути является результатом работы команды, может быть передана заказчику для ознакомления или конечного использования. Сборки неразрывно связаны с исходным кодом, требованиями и исправленными дефектами.

В номер сборки (или номер версии приложения) удобно включать номер коммита, на основе которого она была собрана. Реализованные требования, исправленные дефекты и выполненные задачи удобно связывать с коммитами. Таким образом,

  • Разработчики легко получают перечень коммитов, попавших в сборку
  • Аналитики легко узнают какие требования были реализованы в той или иной сборки, какие дефекты были исправлены
  • При выполнении ручного тестирования тестировщики указывают номер сборки, на которой осуществляется проверка

Для интеграции сборщика с Devprom используется REST API и простенький скрипт, публикующий всю необходимую информацию о сборке в Devprom при помощи утилиты cURL. Посмотрите на пример одного шага в конфигурации для Jenkins, который публикует сборку и связывает ее с коммитом:

set /p APP_VERSION=<version.txt
set REST_JSON={"Caption":"%APP_VERSION%","BuildRevision":{"Version":"%SVN_REVISION%"}}
set REST_URL= https://пользователь:пароль@test.myalm.ru/pm/project1/api/v1/builds
curl -X POST -H "Content-Type:application/json" %REST_URL% -d "%REST_JSON%"

Подробнее о работе этого скрипта читайте в клубе пользователей Devprom.