私のチームでは、Gitlabをリモートリポジトリとして使用しているため、アプリをHerokuに自動展開するソリューションを探しています。 GithubからHerokuにアプリを自動展開するためのコードシップが見つかりました。
任意のヒント?トリック?
Ruby/dplを使用する準備ができていない場合は、次のようにHerokuにデプロイできます。
Heroku APIキーを検索し(Heroku Webコンソールの[アカウント設定]-> [APIキー])、Gitlabシークレット変数として使用できるようにします。 HEROKU_API_KEY(値はheroku auth:tokenが返すものと同じではないことに注意してください...)
次に、関連するジョブで.gitlab-ci.yml構成ファイルに2つのスクリプト行を追加します。
git remote add heroku https://heroku:[email protected]/<name of your heroku app>.git
git Push -f heroku master
詳細な説明は http://blog.thecodewhisperer.com/permalink/deploying-jekyll-to-heroku-using-gitlab-ci で確認できます。
ここ は私が見つけた解決策であり、リンクが壊れた場合に再記述します:
プロジェクトの構成
これは、このプロジェクトの.gitlab-ci.ymlファイルの外観です。
test:
script:
# this configures Django application to use attached postgres database that is run on `postgres` Host
- 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つの仕事があります:
test-テストに使用Django application、
ステージング-マスターブランチへのプッシュごとにステージング環境を自動的に展開するために使用
本番-作成されたタグごとに本番環境を自動的に展開するために使用
APIキーの保存
[プロジェクト]> [変数]で2つの変数を作成する必要があります。
HEROKU_STAGING_API_KEY - Heroku API key used to deploy staging app,
HEROKU_PRODUCTION_API_KEY - Heroku API key used to deploy production app.