リリース定義作成 その1のつづきです。
リリース定義のタスク設定画面からです。
・Template
ARMテンプレートファイルを指定します。右側の「・・・」をクリックすると、ファイル選択画面が表示されるので、「template.json」を指定します。
・Template parameters
ARMテンプレートのパラメータファイルを指定します。ファイル選択方法はTemplateと同じで、「parameters.json」を指定します。
・Override template parameters
この項目でTemplate parametersで指定したパラメータの内容から変更することができます。
parameters.jsonで直接指定してもいいのですが、管理者ユーザ名やパスワードなどを(コードが参照できる人は)誰でも見れるのはセキュリティ的に問題もあるので、ここではチームプロジェクト内で定義できる変数(Variables)を使って設定した人以外には値が見れない状態にしたいと思います。
「Variables」をクリックして、変数の定義画面に移ります。ここに直接変数を定義してもいいのですが、もう少し頑張って目的別の変数グループを作成して、そこに変数を作成します。
左側の「Variable groups」をクリックしたあと、「Manage variable group」をクリックします。
右上の「Variable group」をクリックします。(既に完成形の変数グループが見えてますが(;´∀`))
「Variable group name」に変数グループ名を入力します。実際の変数は下側の「Variables」にある「+ Add」をクリックして追加します。
変数入力行の一番右側にある鍵マークをクリックすると、入力した変数の値(Value)がマスクされ、二度と見ることはできなくなります。(入力した本人でもダメです)
今回は2つの変数グループを作成します。
(一部おかしい空白部分がありますが、今後追加するネタを隠してますのでご容赦を(;´Д`))
「ForAzureRelease」はAzureに関する内容を、「MySQL」は(Azureでもオンプレミスでも共通になりそうな)MySQLに関する内容を定義します。
作成したら、Variable groupの設定画面に戻ります。
「Link variable group」をクリックすると、どの変数グループを使用する(リンクする)かを指定する画面になります。
リンクする変数グループと、値が有効になる範囲(scope)を指定します。scopeに「Environments」を指定したときは、リソースを展開する環境も併せて指定します。
「ForAzureRelease」のscopeはEnvironments、「MySQL」のscopeはReleaseとしてリンクします。
Variablesが設定できたら、Tasksに戻ります。
ようやく、この「Override template parameters」に指定する内容についてです。
基本的には「-[テンプレートパラメータ名] [値]」という形式を繰り返します。
基本的には「-[テンプレートパラメータ名] [値]」という形式を繰り返します。
今回はMySQLのサーバ名/MySQLの管理者ユーザ名/MySQL管理者ユーザのパスワードを指定します。
なお、パスワードはSecureStringで指定する必要があるので、「(ConvertTo-SecureString」でSecureString化してます。
それ以外の項目についてはデフォルトのままで問題ありません。
ようやくリリース定義が作成できましたので、実際にリリースしてみます。(つづく)