タスク 2 - Azure Container Registry 接続情報を追加
Azure Container Registry に Docker イメージをプッシュする際に認証が必要なため、接続情報と認証処理を GitHub アクションに追加します。
本タスクは、演習 1 で作成された API アプリ
とUI アプリ
両方の GitHub リポジトリに対して作業を行いします。
演習作業簡略化のため、ファイルの作成と編集は main ブランチに対して直接行います。
作業
- 鉛筆マーク
のボタンをクリックし、
.github/workflows/build-deploy.yml
ファイルを編集モードで開きます。操作画面イメージ
-
Azure Container Registry のアクセスエンドポイントを定義するための変数を作成します。
.github/workflows/build-deploy.yml
ファイル上部の on ステートメントのすぐ下の行に、下記env
とその下にCONTAINER_REGISTRY
を追加し、Azure Container Registry のドメイン (~.azurecr.io) を設定します。Tips:
- 変数は、ワークフロー ファイルのさまざまなスコープで作成できます。 本ハンズオンではワークフロー ファイル全体で使用できるようトップスコープで 定義します。
- Azure Container Registry のドメインは、準備作業で作成された Azure Container Registry リソースの
概要
タブログインサーバー
にで確認できます。
操作画面イメージ
-
下記
step
のコードを.github/workflows/build-deploy.yml
ファイルの末尾に追加します。# Add a step - name: Log in to container registry # 認証処理を行うためのアクション uses: docker/login-action@v2 with: registry: ${{ env.CONTAINER_REGISTRY }} username: ${{ secrets.CONTAINER_REGISTRY_USERNAME }} password: ${{ secrets.CONTAINER_REGISTRY_PASSWORD }}
注意 各行のインデントを間違いと構文エラーになりますので、ご注意してください。
Start commit
をクリックし、Commit directly to the main branch
となっていることを確認した上で、Commit changese
ボタンをクリック操作画面イメージ
- リポジトリの
Secrets
に Azure Container Registry への接続情報を保存します。
Azure Container Registry の [アクセス キー] よりユーザー名
とpassword
をコピーします。操作画面イメージ
- リポジトリの [Settings] -> [Secrets] -> [Actions] と辿り、
New repository secret
ボタンをクリックしSecret
を追加します。操作画面イメージ
CONTAINER_REGISTRY_USERNAME
を追加し、上でコピーした Azure Container Registry のユーザー名
を保存します。
操作画面イメージ
- 同様に
CONTAINER_REGISTRY_PASSWORD
を追加し、上でコピーした Azure Container Registry のpassword
を設定します。
操作画面イメージ
確認
.github/workflows/build-deploy.yml
ファイルの変更ができていることを確認します。操作画面イメージ
- リポジトリの
Secrets
にCONTAINER_REGISTRY_USERNAME
とCONTAINER_REGISTRY_PASSWORD
が作成できていることを確認します。操作画面イメージ
- タスク 1 の 4. と同様に、手動実行でワークフローを起動します。
- ワークフロー処理はエラーなく終了し、build ジョブのログに
Login Succeeded!
のメッセージがが出力されていることを確認します。操作画面イメージ