Непрерывная интеграция#

Gsf-cli может быть встроена в конвейер непрерывной интеграции для публикации решений и комплектов сборки.

Настройка в linux#

  1. Возьмите исходники из git

  2. Установите необходимые пакеты

    sudo bin/installpkg.sh
    
  3. Установите Gsf-cli

    bin/install.sh
    
  4. Переведите утилиту в автономный режим

    ./config.sh enable_headless
    
  5. Загрузите конфигурацию

    ./config.sh load -f config.json
    
  6. Запустите сборку

    ./manage.sh --all build
    

Сборка проекта#

Алгоритм сборки:

  1. Если необходимо, загрузить исходный код проекта.

  2. Если необходимо, загрузить сервер приложения
    Сервер приложения будет загружен либо из конфигурации проекта либо из настройки проекта. Настройка проекта может перекрывать конфигурацию в случаи если сервер берется не из комплекта сборки. Если решение собирается из комплекта сборки перекрытие запрещено так как это может привести к конфликтам.

  3. Если необходимо, загрузить плагин

  4. Скомпилировать проект

  5. Если необходимо опубликовать артефакты
    Необходимость публикации определяется настройками в project.yaml и конфигурацией gsf-cli

Сборка релиза#

Релиз собирается только 1 раз, после успешной сборки повторный запуск игнорирует изменения до тех пор пока не изменится версия релиза.

Это гарантирует неизменность артефактов в репозитории. В случаи если допустить изменяемость релизов в репозитории невозможно гарантировать корректную доставку артефактов так как maven загружает релиз только 1 раз и далее не проверяет его на изменения.

Сборка snapshot#

Snapshot версия собирается и публикуется на каждый запуск.

Совет

Для обновление перевыпущенных артефактов воспользуйтесь командой sbt update;updateClassifiers Подробнее смотрите управления зависимостями в sbt