2020 年 4 月の時点で、Heroku は GitHub をネイティブに統合しており、文書化されていないジャンキーなアイスランドのエンドポイントに頼ることはありません。
構成すると、Heroku は自動的にビルドしてリリースし (ビルドが成功した場合)、指定された GitHub リポジトリにプッシュすることができます。
GitHub 統合の有効化
Heroku ダッシュボードDeploy
のアプリのタブで GitHub 統合を構成できます。
GitHub 統合を構成するには、GitHub で認証する必要があります。これは、Heroku アカウントごとに 1 回だけ行う必要があります。
自動 GitHub デプロイを構成するには、GitHub リポジトリ管理者アクセスが必要です。これは、Heroku が GitHub リポジトリにサービス フックを登録する必要があり、このアクションには管理者アクセスが必要なためです。GitHub 組織の場合、GitHub アカウントも組織のメンバーである必要があり、外部の共同作業者ではありません。
リポジトリが、サードパーティ アプリケーションの制限が有効になっている GitHub 組織にある場合、組織管理者は組織で Heroku を使用することを承認する必要があります。詳細はGitHubで入手できます。
Heroku アプリを GitHub リポジトリにリンクすると、ブランチから選択的にデプロイしたり、自動デプロイを構成したりできます。
手動デプロイ
手動デプロイでは、アプリに接続されている GitHub リポジトリから任意のブランチの即時デプロイを作成できます。変更をいつ Heroku にデプロイするかを制御したい場合は、手動デプロイを使用します。
手動デプロイを使用して、自動デプロイ用に構成されたブランチ以外のブランチを一時的にデプロイすることもできます。たとえば、開発アプリをdevelopment
GitHub ブランチに同期しているが、機能ブランチを一時的にテストしたい場合があります。機能ブランチの手動デプロイをトリガーするだけで、Heroku アプリでテストできます。フィーチャー ブランチのリリースは、ブランチへの GitHub プッシュが次に成功したときに上書きされることに注意してくださいdevelopment
。
自動デプロイ
GitHub ブランチの自動デプロイを有効にすると、Heroku はすべてのプッシュをビルドしてそのブランチにデプロイします。たとえば、Heroku に開発アプリがある場合、GitHub
development
ブランチへのプッシュが自動的にビルドされ、そのアプリにデプロイされるように構成できます。
自動化された継続的インテグレーション (たとえば、Travis CI を使用) を使用するように GitHub リポジトリを構成した場合は、[デプロイする前に CI が通過するのを待つ] チェックボックスをオンにできます。有効にすると、Heroku は、関連するコミットのすべてのコミット ステータスが表示された後にのみ自動デプロイします
success
。
pending
チェックの 1 つがステータスを示しているため、このコミットは自動デプロイされません
。
すべてのチェックで次のステータスが表示されるため、このコミットは自動デプロイされます
success
。
アプリのレビュー
Heroku アプリでレビュー アプリを有効にすると、Heroku は、親アプリに接続された GitHub リポジトリで開かれたプル リクエストごとに一時的なテスト アプリを作成します。レビュー アプリは、
GitHub Flowを使用してコード ベースの変更を提案、議論、およびマージする場合に最適です。プル リクエスト ブランチは Heroku の新しいアプリにデプロイされるため、共同作業者はコード ブランチのテストとデバッグを非常に簡単に行うことができます。GitHub ブランチを表す Heroku アプリで自動統合テストを実行することもできます。
詳細については、アプリのレビューの記事
を参照してください。
Heroku CI
GitHub リポジトリを Pipeline に接続したら、
Heroku CIを有効にできます。Heroku CIは、Heroku Pipelines と簡単に統合できる視覚的で構成の少ないテスト ランナーです (したがって、Review アプリ、既存の Heroku アプリ、および GitHub 統合を補完します)。Settings
どの Heroku パイプラインもすでに Heroku CI 対応です。パイプラインのタブでオンにするだけです。
差分へのリンク
GitHub リポジトリにリンクされているアプリの場合、[ダッシュボード
Activity
] タブのリリースには [差分を表示] リンクが含まれます。リンクをたどると、GitHub の比較ビューに移動し、最後のリリース以降に行われた変更が表示されます。
GitHub からの切断
必要に応じて、廃止された GitHub 接続を終了します。
個々のアプリの切断
Deploy
個々のアプリは、アプリのタブの GitHub ペインで切断できます
。
アカウントを切断しています
ダッシュボード アカウント ページの [アプリケーション] ペインで、Heroku と GitHub のアカウントを切断できます。