パイプラインを構成し、更新をプッシュする
この記事では、Azure Developer CLI (azd
) を使用して、GitHub アクションや Azure DevOps などの CI/CD パイプラインを介してテンプレートの変更をプッシュする方法について学びます。 この例では、Azure 上で Node.js API と MongoDB を使用した React Web アプリのテンプレートを使用しますが、この記事で学習した原則を任意の Azure Developer CLI テンプレートに適用できます。
Note
azd pipeline config
コマンドはまだベータ版です。 アルファ版とベータ版の機能サポートの詳細については、「機能のバージョン管理とリリース戦略」を参照してください。
前提条件
- Azure Developer CLI をインストールします。
- Node.js テンプレートをデプロイします。
- Visual Studio Code がインストールされていること。
すべての azd
テンプレート には、「azure-dev.yml
」と呼ばれる既定の GitHub アクションと Azure DevOps パイプライン構成ファイルが含まれています。これは、CI/CD をセットアップするために必要です。 この構成ファイルは、Azure リソースをプロビジョニングし、コードをメイン ブランチにデプロイします。 azure-dev.yml
を見つけることができます。
- GitHub アクションの場合:
.github/workflow
ディレクトリ内の。 - Azure DevOps の場合:
.azdo/pipelines
ディレクトリ内の。
CI/CD パイプラインを構成するには、azd pipeline config
コマンドを使用します。これは次のタスクを処理します。
- Azure サブスクリプション上のアプリのサービス プリンシパルを作成して構成します。
- GitHub リポジトリを作成して構成し、それにプロジェクト コードをコミットするワークフローの手順を説明します。 既存の GitHub リポジトリを使用することもできます。
- GitHub シークレットを使用して、Azure とリポジトリの間にセキュリティで保護された接続を作成します。
- ワークフロー ファイルにチェックするときに、GitHub アクションを実行します。
このプロセスをより細かく制御するために、パイプラインを手動で構成することもできます。
どのテンプレートにも、「azure-dev.yml
」と呼ばれる既定の GitHub アクションと Azure DevOps パイプライン構成ファイルが含まれています。 この構成ファイルは、Azure リソースをプロビジョニングし、コードをメイン ブランチにデプロイします。 azure-dev.yml
を見つけることができます。
- GitHub アクションの場合:
.github/workflow
ディレクトリ内の。 - Azure DevOps の場合:
.azdo/pipelines
ディレクトリ内の。
構成ファイルをそのまま使用することも、ニーズに合わせて変更することもできます。
続行するには、任意のパイプライン プロバイダーを選択します。
Azure にデプロイするための GitHub を承認する
ワークフローを構成するには、ユーザーに代わって Azure にデプロイするためのアクセス許可を GitHub に付与する必要があります。 AZURE_CREDENTIALS
という名前の GitHub シークレットに格納される Azure サービス プリンシパルを作成して、GitHub を承認します。
次のコマンドを実行して、Azure サービス プリンシパルを作成し、パイプラインを構成します。
azd pipeline config
また、このコマンドはプライベート GitHub リポジトリを作成し、コードを新しいリポジトリにプッシュします。
Note
既定では、
azd pipeline config
は OpenID接続 (OIDC) を使用します。これは「フェデレーション資格情報」と呼ばれます。 あえて OIDC を使用したくない場合は、azd pipeline config --auth-type client-credentials
を実行します。OIDC/フェデレーション資格情報は、Terraform ではサポートされていません。
要求された GitHub 情報を指定します。
ローカルの変更をコミットしてプッシュし、新しい GitHub アクションの実行を開始するかどうかについてプロンプトが表示されたら、
y
を指定します。ターミナル ウィンドウで、
azd pipeline config
コマンドの結果を表示します。 このazd pipeline config
コマンドにより、プロジェクトの GitHub リポジトリ名が出力されます。ブラウザーを使用して、プロジェクトの GitHub リポジトリを開きます。
[アクション] を選択して、ワークフローが実行されているのを確認します。
コード変更を行ってプッシュする
プロジェクトの
/src/web/src/layout
ディレクトリで、header.tsx
を開きます。<Text variant="xLarge">ToDo</Text>
の行を見つけます。リテラル
ToDo
をmyTodo
に変更します 。ファイルを保存します。
変更を [コミット] します。 変更をコミットすると、GitHub Action パイプラインが開始され、更新プログラムがデプロイされます。
ブラウザーを使用して、プロジェクトの GitHub リポジトリを開き、以下の両方を表示します。
- あなたのコミット
- セットアップ中の GitHub アクションからのコミット。
[アクション] を選択すると、テストの更新がワークフローに反映されます。
Web フロントエンド URL にアクセスして、更新プログラムを検査します。
GitHub アクションとしての azd
azd
を GitHub アクションとして追加します。 このアクションにより、azd
がインストールされます。 それを使用するには、以下を .github\workflows\azure-dev.yml
に追加します。
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Install azd
uses: Azure/setup-azd@v0.1.0
リソースをクリーンアップする
この記事で作成した Azure リソースが不要になったら、次のコマンドを実行してください。
azd down
サポートを要求します
バグ報告、支援要請、または Azure Developer CLI の新機能の提案を行う方法については、トラブルシューティングとサポートのページを参照してください。
次のステップ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示