Skip to main content
From 16:00 UTC on January 17, 2026, to 20:00 UTC on January 17, 2026, we will perform planned maintenance on the Trailhead, myTrailhead, and Trailblazer Community sites. During the maintenance, these sites will be unavailable, and users won't be able to access them. Please plan your activities around this required maintenance.

Heroku Flow とその機能の詳細

学習の目的

この単元を完了すると、次のことができるようになります。

  • Heroku Flow による一般的な継続的配信ワークフローについて説明する。
  • Heroku Flow の機能を挙げて、それぞれの目的を説明する。

Heroku Flow とは?

Heroku Flow は、Heroku プラットフォームでの継続的配信のための、構造化された使いやすいワークフローです。Heroku パイプライン、レビューアプリケーション、リリースフェーズ、Heroku CI や、GitHub および Slack インテグレーションを、シンプルで視覚的なコードから本番へのワークフローにまとめます。

一般的な Heroku 継続的配信ワークフローは、次のようになります。

  • 開発者またはチームメンバーが Heroku パイプラインを作成し、アプリケーションを追加し始めます。
  • 開発者が、アプリケーションのコードベースを変更するプルリクエストを作成します。
  • Heroku によってプルリクエストのレビューアプリケーションが自動的に作成されて、開発者は変更をテストできるようになります。
  • 変更の準備ができると、コードの main ブランチにマージされます。
  • main ブランチがさらなるテストのために、ステージングアプリケーションに自動的にリリースされます。
  • Heroku CI が設定されている場合、コードへの変更に問題がないか確認するテストが実行されます。リリースフェーズが設定されている場合、そのタスクはコードのリリース前に実行されます。リリースフェーズタスクの例として、データベース移行の処理などがあります。
  • すべてが準備できたら、開発者がステージングアプリケーションを本番に昇格して、変更をエンドユーザーが使用できるようにします。
  • パイプラインが Slack と統合されている場合、プルリクエストがオープンになり、コードが main にマージされると、通知が特定のチャネルに投稿されます。この投稿により、チームは CI テストとリリースフェーズタスクの状況と結果について最新情報を知ることができます。適切な権限を持つチームメンバーも Slack チャンネルからアプリケーションをステージングにリリースしたり、本番に昇格したりすることができます。

次に、Heroku Flow の機能について学び、個々の目的を理解しましょう。

Heroku パイプライン

パイプラインとは、同じコードベースを共有する、Heroku アプリケーションのグループです。パイプラインの各アプリケーションは、継続的配信ワークフローでのレビュー、開発、ステージング、本番というステップのいずれかを示しています。

GitHub インテグレーション

Heroku パイプラインを GitHub リポジトリに関連付けることで、あらゆる GitHub プッシュから手動または自動でブランチをリリースできます。リリースごとに、Heroku ダッシュボードのアプリケーションの [Activity (活動)] タブで、現在のリリースと前回のコミットの違いを確認できます。Heroku CI または外部の継続的インテグレーション (CI) サーバーを使用するように GitHub リポジトリを設定している場合、CI によって特定のコミットが渡された後、ブランチの自動リリースのみ行うように Heroku を設定できます。

レビューアプリケーション

レビューアプリケーションで、変更をコードベースにマージするかどうかを提案、協議、決定できます。GitHub に関連付けられた Heroku アプリケーションの場合、Heroku では、オープンのプルリクエスト (PR) ごとの固有 URL で一時的なテストアプリケーションを手動または自動で実行できます。一時的なアプリケーションはコミットごとに自動更新されるため、レビューアーはコードの動作を推測するのではなく、ブラウザーで実際に変更を試すことができます。

リリースフェーズ

リリースフェーズを通じて、リリースが本番に適用される前に ToDo を実行できるようになり、メンテナンス期間の削減やリリースリスクの排除を実現します。リリースフェーズを利用すると、データベースの移行、コンテンツ配信ネットワーク (CDN) へのアセットのアップロード、キャッシュの無効化のほか、本番への準備のためにアプリケーションに必要な他のタスクを実行できます。リリースフェーズタスクが失敗した場合、新しいリリースは行われず、現在の本番リリースは影響を受けません。

Heroku CI

Heroku CI は、Heroku パイプラインと連携する、簡単な設定のテスト実行ツールです。Heroku CI は、ステージングと本番環境で変わらない廃棄可能なアプリケーションを利用して、短時間で結果を得られるようにゼロキュー時間でテストスクリプトを実行します。Heroku または GitHub からテスト結果にアクセスしたり、CI 結果に対して条件付きでリリースを自動化したりすることができ、また、チームベースの継続的配信での CI の役割を支援するために構築された視覚的なインターフェースを利用できます。

Heroku ChatOps

Heroku ChatOps は、Heroku パイプラインを利用して、Slack での協力型リリースワークフローを実現します。これにより、開発者は Slack からステージングまたは本番への昇格のためのリリースを実行できるようになります。Heroku ChatOps を使用すると、チームメンバーは Slack チャンネル内ですべてのコード変更を追跡できます。プルリクエスト通知、マージ、CI ビルド結果はすべて Slack に表示されます。そのため、ビルド結果や本番への昇格の成否を確認するために、コンテキストを切り替える必要はありません。

この単元では Heroku Flow の機能について概要を学習しました。次の単元では一部の機能についてさらに詳細を学習します。

リソース 

Salesforce ヘルプで Trailhead のフィードバックを共有してください。

Trailhead についての感想をお聞かせください。[Salesforce ヘルプ] サイトから新しいフィードバックフォームにいつでもアクセスできるようになりました。

詳細はこちら フィードバックの共有に進む