Azure DevOps アップロードの続き : Subscription ID を変える

前回のエントリの作業中に、サイトを Free Trial から Pay-as-you-go にサブスクリプションを変えたのでした。実質的には変わらないのかもしれないですが。

kawaguti.hateblo.jp

 

そうするとですよ、その前に作っていたデプロイパイプラインが動かなくなることに気がつきまして。

kawaguti.hateblo.jp

 

YAMLサブスクリプション名を変えないと!

じゃあということで、リポジトリにある azure-pipelines.yml のサブスクリプション部分を書き換えればいいのかな、と思って編集しました。平文で書いてあるサブスクリプションIDを編集して、pushするとパイプラインが自動で動きます。.......でコケました。

f:id:wayaguchi:20190601210003p:plain

考えてみれば、ここ書き換えるだけでどんな配置先にもいれられてしまうとなると、セキュリティなんてあったもんじゃないわけで、どこかで連携処理が必要、ということに気がつきました。

ああそっか、やはり。Project Settings にいました。

f:id:wayaguchi:20190601210407p:plain

ここを変えて再登録してあげないと!まず、[+ New Service Connection]で追加します。

f:id:wayaguchi:20190601210610p:plain

ここで Azure側のログインを求められて、認証が行われます。...ので、他人のリポジトリに突っ込んでしまうことはないわけですね。納得。

 

よしこれで大丈夫なはず!こんどは手動でパイプラインを実行してみる

ではもう一回ビルドパイプラインでコピーを実行します。

f:id:wayaguchi:20190601210959p:plain

なぜかまたコケてしまいました。サブスクリプションIDちゃんと直したのに。

そういえば、さっき YAML ファイルをいじった時に IDが平文記述されていることにちょっと気持ち悪さを感じたんですよね、そういうものなのかな?と思いつつ。そう言えばさっきサービス連携を追加する時に、Connection Name なるものを記入してました。

f:id:wayaguchi:20190601211454p:plain

 

YAMLの azureSubscription を書き換える

これをYAMLで指定すればいいのか!ということでYAMLを修正。平文にIDがでていたのは、何かの既定値だったんですねきっと。ついでにソースからマジックナンバーが除去できてよかったです。(ボーイスカウトルール)

trigger:
- master

pool:
vmImage: 'windows-2019'

steps:
- task: AzureFileCopy@3
inputs:
SourcePath:
azureSubscription: 'innovationsprint'
Destination: 'AzureBlob'
storage: 'innovationsprint'
ContainerName: '$web'

Pushするとまた自動的にビルドが走りました。

f:id:wayaguchi:20190601211915p:plain

実は最後のビルドは成功を確信していたので、ブログ書きながらメールで通知を受けたのですが、これははかどりますね。

f:id:wayaguchi:20190601212808j:plain

しかし、こうなると、単純な死活監視くらいは走らせてから終わらせたくなります。

どんどん色々やりたくなるから不思議ですね。