kokoni

クラウドおじさんの備忘録

Azure Pipelinesのyamlファイルの管理について

きちんと管理しないと煩雑になりがちなAzure Pipelinesのyaml定義ファイルの管理について記載していきます。

この記事はAzure DevOps 2020アドベントカレンダー13日目の記事になります。

qiita.com

気づくと作成されているyaml定義ファイルの管理

AzureDevOpsのpipelinesを作成する時に、何も考慮せずに作成しているといつのまにか対象リポジトリの直下に「azure-pipelines.yml」という名前でyaml定義ファイルが作成されていきます。 このファイルこそがpipelieの実行手順が定義されているファイルになります。 このファイルはpipelinesを作成するたびに下図のように連番で作成されていきます。

f:id:kingkino:20201206231322p:plain

これではどのファイルがどのpipelineと紐づいているのかわからなくなり管理しづらくなります。 この現象を回避するためにはpipelineを作成する時に明示的にファイル名とパスを指定します。

f:id:kingkino:20201206232334p:plain

pipeline作成時のプロセスの最後にある「Review」でリネームすることでファイル名を変更することができます。 また、「/」で区切ることでパス化することもできます。

上記で作成したyamlファイルは下図のように「cicd」フォルダ内に指定したファイル名で作成されます。

f:id:kingkino:20201206232645p:plain

pipelineを作成する時には常にファイル名の命名と格納先のパスを意識することで管理しやすくなります。

yaml定義ファイルの紐づけ

次に既に作成してしまっている場合について説明します。

既に作成済みのpipelineとyaml定義ファイルがある場合、まずはリポジトリをクローンしてローカルでyaml定義ファイルの配置変更やリネームを行います。 VS Code等のIDEを利用すると効率的に変更ができます。

ここでは試しに下図のような状態を

f:id:kingkino:20201206232645p:plain

下図のようにローカルで変更してPUSHします。

f:id:kingkino:20201206234132p:plain

yaml定義ファイルはリネームやフォルダの配置変更を行うと既存のpipelineとの関連付けが外れてしまいます。 この場合はpipeline側で設定してたyaml定義ファイルが存在しなくなるため、pipelineの実行ができなくなるためpipelineとの紐づけを再設定する必要があります。

対象のpipelineの画面で「settings」から紐づけるyaml定義ファイルを選択することで紐づけを行うことができます。

f:id:kingkino:20201206234545p:plain

ここで「yaml files path」の一覧からファイルを指定します。

f:id:kingkino:20201206234708p:plain

任意のファイルを指定してOKをすること紐づけは完了です。

やり方を知らないと煩雑になりがちなyaml定義ファイルの管理についてですが、今回の方法を知っておくことで管理しやすくなると思います。 それではよりよいDevOps生活をお楽しみください。