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

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

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

  Rubyで作成したRailsアプリケーションをテストして、自動的にHerokuアプリケーションとしてデプロイする設定をご紹介します。

  ※これと同じような設定をしたソースと、CIの状態とをご覧いただけます。

 

  プロジェクト設定

  次の設定を「.gitlab-ci.yml」に施します。

============================================
test:
  script:
  - apt-get update -qy
  - apt-get install -y nodejs
  - bundle install --path /cache
  - bundle exec rake db:create RAILS_ENV=test
  - bundle exec rake test

staging:
  type: deploy
  script:
  - gem install dpl
  - dpl --provider=heroku --app=gitlab-ci-ruby-test-staging --api-key=$HEROKU_STAGING_API_KEY
  only:
  - master

production:
  type: deploy
  script:
  - gem install dpl
  - dpl --provider=heroku --app=gitlab-ci-ruby-test-prod --api-key=$HEROKU_PRODUCTION_API_KEY
  only:
  - tags
============================================

 

  ここでは3つのjobを用意しました。

  1. test - Railsアプリケーションをテストするためのjob
  2. staging - masterブランチにプッシュがあったときに、すぐさまdeployを開始するように設定
  3. production - ブランチにtagが作成されると、APIキーの内容に従ってdeployの環境を構築する設定


 

  APIキーの設定

 Project>Variablesに移動して、次の2つの変数を作成してください。

  1. HEROKU_STAGING_API_KEY - 「staging」時点のアプリをどのように展開するか
  2. HEROKU_PRODUCTION_API_KEY - 「production」時点のアプリをどのように展開するか


 これらの変数は「Heroku API key」なので、詳しい内容はHerokuにログインしてご確認ください。

 

  Herokuアプリケーションの作成 

  場合によっては、新たにHerokuアプリケーションを作成する必要が出てくるかもしれません。その時は、Heroku ダッシュボードからアプリを新規作成してください。

 

  ランナーの構築

  まず最初にDocker エンジンをインストールします。
 この系統のプロジェクトをビルドするためには、GitLab ランナーが必要だからです。
 gitlab.comのパブリックランナーを使うこともできるのですが、念のため、手動でランナーを登録する方法をお教えします。

======================
gitlab-ci-multi-runner register \
 --non-interactive \
 --url "https://gitlab.com/" \
 --registration-token "PROJECT_REGISTRATION_TOKEN" \
 --description "ruby-2.2" \
 --executor "docker" \
 --docker-image ruby:2.2 \
 --docker-postgres latest
======================
  注:」マークはバックスラッシュの誤変換です。
 

  上のコマンドで、「ruby:2.2」イメージとpostgresデータベースを使ったランナーを作成できます。

  PostgreSQLにアクセスするには、ユーザーpostgresの状態で「host: postgres」に接続してください。パスワードは不要です。

 Edit this page

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