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

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

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

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

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

 

  プロジェクト設定

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

============================================
test:
  script:
  # これは Djangoアプリケーション 用の設定です。 `postgres` ホストに接続して、postgresデータベースを使用することを前提としています。
  - export DATABASE_URL=postgres://postgres:@postgres:5432/python-test-app
  - apt-get update -qy
  - apt-get install -y python-dev python-pip
  - pip install -r requirements.txt
  - python manage.py test

staging:
  type: deploy
  script:
  - apt-get update -qy
  - apt-get install -y ruby-dev
  - gem install dpl
  - dpl --provider=heroku --app=gitlab-ci-python-test-staging --api-key=$HEROKU_STAGING_API_KEY
  only:
  - master

production:
  type: deploy
  script:
  - apt-get update -qy
  - apt-get install -y ruby-dev
  - gem install dpl
  - dpl --provider=heroku --app=gitlab-ci-python-test-prod --api-key=$HEROKU_PRODUCTION_API_KEY
  only:
  - tags
============================================

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

  1. test - Djangoアプリケーションをテストするためのjob
  2. staging - masterブランチにプッシュがあったときに、すぐさまdeployを開始するように設定
  3. production - ブランチにtagが作成されると、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 "python-3.5" \
  --executor "docker" \
  --docker-image python:3.5 \
  --docker-postgres latest
======================
 注:」マークはバックスラッシュの誤変換です。
 

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

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

 Edit this page

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