Azure Pipeline使って別のDataFactoryへのリリースをやってみたので、備忘録。
記載するのはAzure Pipelineを使ったリリースまでで、トリガーの設定変更や、削除したリソースの反映までは行っていない
実行したのは下記なので、それぞれ手順を記載
・mainブランチに変更が入った場合にトリガー起動でリリース
・adf_publishへの発行をトリガーとしてリリース
◆前提
増分デプロイ
◆使ったDataFactory
開発ADF:作業用:DevOpsにコラボレーションブランチを作成済み
本番ADF:開発ADFのリリース先:ライブモード
◆前準備
1.開発ADFのコラボレーションブランチを作成しているプロジェクトにサービス接続を作成する
プロジェクトは作成していたけど、サービス接続を作成してなかったからリリースを作成してもデプロイできなかった
https://docs.microsoft.com/ja-jp/azure/azure-resource-manager/templates/deployment-tutorial-pipeline#create-a-devops-project
2.ブランチの役割を決めておく
リリース先に反映するブランチを決めておく
下記の構成で、mainブランチをデフォルトブランチにしてリリース設定をすると、workからのプルリクエストを許可した時点で本番ADFに反映される
adf_publish:ライブモードの動作環境。mainブランチで発行することで、mainの内容が反映される
mainブランチ:workの内容をプルリクエストでマージする先
workブランチ:開発用
◆手順(mainブランチに変更が入った場合にトリガー起動でリリース)
1.ビルド用のパイプラインを作成する
参照:https://docs.microsoft.com/ja-jp/azure/data-factory/continuous-integration-delivery-improvements#create-an-azure-pipeline
package.jsonの作成や場所は、リリース用のブランチのどこか
公式のyamlの部分を作成環境に合わせて修正する
$(Build.Repository.LocalPath)=ブランチの/(ルート)に該当するので、ブランチの直下に格納する場合は記載不要
ブランチの直下に「build」フォルダを作成した場合は、「build」と記載する。
$(Build.Repository.LocalPath)はコンテナ内にチェックアウトされたリソースフォルダを指している
2.リリースを作成する
参照:https://docs.microsoft.com/ja-jp/azure/data-factory/continuous-integration-delivery-automate-azure-pipelines
上記の手順の「Azure Pipelines リリースをセットアップする」6.で、↑の1で作成したパイプラインを指定すると、トリガー起動するようになる(Source typeで「Build」を選択する)
「Azure Resource Manager connection」では、前準備で作成したサービス接続を選択する
前準備で作成したサービス接続を選択しないとサブスクリプションやリソースグループを選択できない
タスクを設定する際に選択するARMテンプレートは、リリースするブランチに格納してある、ARMTemplateForFactory.jsonと、ARMTemplateParametersForFactory.json
今回は開発ADF→本番ADFなので、「Override template parameters」でfactoryNameを上書きしている
3.保存して動作確認
問題なければ、デフォルトブランチに変更内容を反映することでリリースまで実行される
★注意点
1で作成したビルド用のパイプラインで出力されるARMテンプレートは、adf_publishに反映されない
なので、adf_publishに反映する場合は「発行」を押下する必要がある
◆手順(adf_publishへの発行をトリガーとしてリリース)
※「mainブランチに変更が入った場合にトリガー起動でリリース」1の手順は不要
1.リリースを作成する
参照:https://docs.microsoft.com/ja-jp/azure/data-factory/continuous-integration-delivery-automate-azure-pipelines
上記の手順の通りにSource typeで「Azure Repos Git」を選択する
Defult branchでadf_publishを選択する
2.トリガーを設定する
稲妻のアイコンを押下して、トリガーを設定する
今回はadf_pulishへの発行をトリガーにするので、Continuous deployment triggerを有効にして、Branchに「adf_publish」を選択する
3.リリースを作成する
「mainブランチに変更が入った場合にトリガー起動でリリース」2と同じ
4.保存して動作確認
Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。
また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!
こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?
コメント