Skip to main content

GitHub Actions を使った継続的デプロイについて

GitHub Actions を使って、GitHub リポジトリにカスタム継続的デプロイ (CD) ワークフローを直接作成できます。

継続的デプロイについて

継続的デプロイ (CD) は、自動化を使用してソフトウェアの更新プログラムを公開およびデプロイする方法です。 一般的な CD プロセスの一環として、コードはデプロイ前に自動的にビルドされてテストされます。

継続的デプロイは、多くの場合、継続的インテグレーションと組み合わされます。 継続的インテグレーションの詳細については、「GitHub Actions による継続的インテグレーションについて」を参照してください。

GitHub Actions を使用する継続的デプロイについて

GitHub Actions ワークフローを設定して、ソフトウェア製品をデプロイできます。 製品が意図したとおりに動作することを確認するため、ワークフローでリポジトリ内のコードをビルドし、デプロイする前にテストを実行できます。

CD ワークフローは、GitHub イベントが発生したとき (たとえば、新しいコードがリポジトリの既定のブランチにプッシュされたとき)、設定されたスケジュールで、手動で、またはリポジトリ ディスパッチ Webhook を使用して外部イベントが発生したときに実行するように、設定できます。 ワークフローを実行できるタイミングについて詳しくは、「ワークフローをトリガーするイベント」を参照してください。

GitHub Actions には、デプロイをより詳細に制御できる機能が用意されています。 たとえば、環境を使用して、ジョブの続行に承認を要求したり、ワークフローをトリガーできるブランチを制限したり、シークレットへのアクセスを制限したりできます。 コンカレンシーを使用して、CD パイプラインを、最大 1 つの進行中のデプロイと 1 つの保留中のデプロイに制限できます。 これらの機能について詳しくは、「GitHub Actions を使用してデプロイする」と「デプロイに環境の使用」をご覧ください。

OpenID Connect を使用してクラウド リソースにアクセスする

GitHub Actions ワークフローが OpenID Connect (OIDC) をサポートするクラウド プロバイダーのリソースにアクセスする必要がある場合、そのクラウド プロバイダーで直接認証されるようにワークフローを構成できます。 これにより、有効期間の長いシークレットとしてこれらの資格情報の格納を停止し、その他のセキュリティ上の利点を提供できます。 詳しくは、「OpenID Connect を使ったセキュリティ強化について」をご覧ください

ワークフロー テンプレートとサード パーティのアクション

GitHub では、Azure Web App など、いくつかの一般的なサービスのデプロイ ワークフロー テンプレートが提供されます。 ワークフロー テンプレートの使用を開始する方法については、「ワークフロー テンプレートの使用」かデプロイ ワークフロー テンプレートの完全な一覧を参照してください。 また、「Azure App Service への Node.js のデプロイ」など、特定のデプロイ ワークフローに関するより詳細なガイドを確認することもできます。

また、多くのサービス プロバイダーでは、サービスにデプロイするための GitHub Marketplace に対するアクションも提供しています。 完全な一覧については、「GitHub Marketplace」を参照してください。

参考資料