# 継続的なデプロイ

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

## 継続的デプロイについて

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

継続的デプロイは、多くの場合、継続的インテグレーションと組み合わされます。 継続的インテグレーションの詳細については、「[継続的インテグレーション](/ja/actions/get-started/continuous-integration)」を参照してください。

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

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

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

GitHub Actions には、デプロイをより詳細に制御できる機能が用意されています。 たとえば、環境を使用して、ジョブの続行に承認を要求したり、ワークフローをトリガーできるブランチを制限したり、シークレットへのアクセスを制限したりできます。 コンカレンシーを使用して、CD パイプラインを最大 1 つの進行中のデプロイに制限できます。 これらの機能の詳細については、「[GitHub Actionsを使用したデプロイ](/ja/actions/how-tos/deploy/configure-and-manage-deployments/control-deployments)」と「[デプロイメント用の環境管理](/ja/actions/how-tos/deploy/configure-and-manage-deployments/manage-environments)」を参照してください。

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

GitHubには、Azure Web App など、いくつかの一般的なサービス用のデプロイ ワークフロー テンプレートが用意されています。 ワークフロー テンプレートの基本的な使用方法については、「[ワークフロー テンプレートの使用](/ja/actions/how-tos/write-workflows/use-workflow-templates)」を参照するか、[配置ワークフロー テンプレートの完全な一覧を参照してください](https://github.com/actions/starter-workflows/tree/main/deployments)。 また、「[Azure App Serviceへの Node.js のデプロイ](/ja/actions/how-tos/deploy/deploy-to-third-party-platforms/nodejs-to-azure-app-service)」など、特定の配置ワークフローに関するより詳細なガイドをチェックすることもできます。

多くのサービス プロバイダーは、サービスにデプロイするための GitHub Marketplace に対するアクションも提供しています。 完全な一覧については、 [GitHub Marketplace](https://github.com/marketplace?category=deployment\&type=actions)を参照してください。

## 次のステップ

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