Этот пример демонстрирует интеграцию GitLab CI с Scala-приложениями с использованием SBT. См. пример проекта и статус сборки.
.gitlab-ci.yml
в проектСледующий файл .gitlab-ci.yml
следует добавить в корень вашего репозитория для запуска CI:
image: java:8
stages:
- test
- deploy
before_script:
- apt-get update -y
- apt-get install apt-transport-https -y
## Установка SBT
- echo "deb http://dl.bintray.com/sbt/debian /" | tee -a /etc/apt/sources.list.d/sbt.list
- apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 642AC823
- apt-get update -y
- apt-get install sbt -y
- sbt sbt-version
test:
stage: test
script:
- sbt clean coverage test coverageReport
deploy:
stage: deploy
script:
- apt-get update -yq
- apt-get install rubygems ruby-dev -y
- gem install dpl
- dpl --provider=heroku --app=gitlab-play-sample-app --api-key=$HEROKU_API_KEY
Команда before_script
устанавливает SBT и выводит используемую версию. Этап test
запускает SBT для компиляции и тестирования проекта. scoverage используется как плагин SBT для измерения охвата тестов. Этап deploy
автоматически развертывает проект на Heroku с помощью dpl.
Вы можете использовать другие версии Scala и SBT, определив их в файле build.sbt
.
Добавьте регулярное выражение Coverage was \[\d+\.\d+\%\]
в настройках проекта Настройки ➔ Пайплайны ➔ Отчет об охвате тестов для извлечения значения охвата тестов из лога сборки и отображения его вместе с задачами.Пайплайны должны быть включены для отображения этого параметра.
Требуется приложение Heroku. Вы можете создать его через Панель управления. Замените gitlab-play-sample-app
в файле .gitlab-ci.yml
на имя вашего приложения.
Вы можете найти свой API-ключ Heroku в аккаунте. Добавьте безопасную переменную с этим значением в Проект ➔ Переменные с ключом HEROKU_API_KEY
.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )