【GitLab 公式 を訳してみた】GitLab CI~Scalaアプリケーションをテスト→Herokuにデプロイする設定

法律: IT 解説記事 GitLab CI フノス(訳者)

 GitLab Documentation>GitLab Continuous Integration (GitLab CI)>GitLab CI 設定サンプル集
>Scalaアプリケーションをテスト/デプロイ

  ここでは、SBTをビルドツールとして使用したScalaアプリケーション向けのGitLab CI設定法を説明します。
  ※これと同じような設定をしたプロジェクトと、ビルドの状態とがリンク先に掲載されています。ぜひご覧ください。

 

  .gitlab-ci.ymlファイルをプロジェクトに追加する

  次の設定をした「.gitlab-ci.yml」をレポジトリのrootディレクトリに追加してください。

============================================
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で定義したものを使用してもよいでしょう。

 

  テスト網羅度を表示する

  「Settings ➔ Pipelines ➔ Coverage report」から、「Coverage was \[\d+.\d+\%\]」という正規表現を加えてください。
 すると、テスト結果が表示されるようになります。

  このオプションを使うには、パイプラインの許可が必須事項となります。

 

  Herokuアプリケーションをデプロイするには

  それにはまずHerokuアプリケーションを作成しておく必要があります。ダッシュボードから作成してください。
 アプリケーション名はちょうど、「.gitlab-ci.yml」内の「gitlab-play-sample-app」と書かれている部分にあてはめるとよいでしょう。

 

  Heroku APIキー

  アカウントにログインしていただくと、Heroku APIキーをご確認いただけます。
 GitLab ランナーでHeroku API キーを使用する際には、「Project ➔ Variables」で変数を登録してください。
 今回の事例では、「HEROKU_API_KEY」を登録していただかないと、設定を適用することができません。
 

 Edit this page

 2017-11-29 22:19:29 / Hnoss
原文サイトを表示
[ 原文 ] https://docs.gitlab.com/ee/ci/examples/test-scala-application.html
原文ページプロジェクト並びにドキュメントファイルは、MIT Licenseのもと公開されています。(URL:https://gitlab.com/gitlab-com/gitlab-docs/blob/master/LICENSE) この記事の文章は、訳者の判断によりCreative Commons BY (version 3.0) を適用するものとします。