構成変数とシステム変数
アプリを配置する際には、スクリプトから構成設定やシステム設定へのアクセスが必要になることがよくあります。 アクセスできれば、構成、ビルド、サーバー、リリースによって値が変わる可能性がある場合に、その値をいくつもの場所にハードコードする必要がなくなります。 値のハードコードを避けるために、Visual Studio 2013 更新プログラム 4 用の Release Management では、vNext リリース用のスクリプト内で構成変数とシステム変数を使用できます。
構成変数
構成変数によって、再利用可能かつカスタマイズ可能な設定をアクションの実行中に使用できます。 構成変数と既定値をサーバー、コンポーネント、グローバルに設定し、PowerShell スクリプトおよび構成スクリプトでその値を使用できます。 また、配置の際に既定値を使用したくない場合は、オーバーライドできます。 たとえば構成変数を使用して、サーバーにアプリを配置するためにのユーザー名とパスワードを設定します。
構成変数は、グローバル、サーバー、コンポーネント、アクションのレベルで設定できます。
グローバル構成変数: [管理] > [設定] > [構成変数] で設定します。 すべての場所で使用できます。
サーバー構成変数: [パスの構成] > [サーバー] で、サーバーと [構成変数] を選択して設定します。 アプリをサーバーに配置するアクションで使用できます。 UserName や Password など、サーバー固有の変数に使用します。
コンポーネント構成変数: [アプリの構成] > [コンポーネント] で、コンポーネントと [構成変数] を選択して設定します。 コンポーネントを使用するアクションで使用できます。
アクション構成変数: リリース テンプレート デザイナーで設定します。アクションで使用できます。
1 つの構成変数名を複数のレベルで使用した場合の優先順位は、高い順に、構成スクリプト ファイル > アクション > コンポーネント > サーバー > グローバルです。
構成変数を管理するために、[リリース テンプレート] ビューおよび [リリース] ビューの左下隅に [構成変数] と [リソース変数] という名前のタブがあります。
[構成変数] タブには、アクションに対して有効な構成変数がステージごとに表示されます。
[リソース変数] タブには、グローバル、サーバー、およびコンポーネントに設定された構成変数と値が表示されます。 (前回のスナップショットではなく、現在の値です。)リソース変数に対する変更は、新しい配置を開始するインフライトのリリースによって有効になります。
アクションの中で構成変数を追加するには、リリース テンプレート デザイナーでアクティビティを開き、[カスタム構成] セクションでドロップダウンの矢印をクリックし、構成変数の型として [標準] または [暗号化] を選択します。 ([暗号化] を使用する場合、アプリを配置するサーバーに HTTPS リスナーを構成しておいてください。)
新しい変数の名前を入力し、値を指定します。
リソース変数の値をオーバーライドするには、[カスタム構成] セクションで [+] 記号をクリックし、ドロップダウンの矢印をクリックします。 カスタマイズする変数を選択し、値を指定します。
システム変数
スクリプトでは、構成設定だけでなくシステム設定へのアクセスも必要になることがあります。 たとえば、アプリを運用環境に配置する際にスクリプトで特別なアクションを実行する必要がある場合に、スクリプトで環境変数を調べられます。 次のシステム変数を使用できます。
ApplicationPath コンポーネントのコピー先のパス (コンポーネント名を含む)。
ApplicationPathRoot コンポーネントのコピー先のパス。
BuildDefinition コンポーネントのビルド定義。
BuildDirectory コンポーネントのビルド ディレクトリ。
BuildNumber コンポーネントのビルド番号。
Environment リリースの環境。
PackageLocation コンポーネントのコピー元のパス。 標準サーバーにドロップしたビルドの場合、パスは container-id を指します。 Azure にドロップしたビルドの場合、パスはストレージ BLOB の GUID を指します。
ReleaseId リリースの ID。Release Management によって割り当てられます。
ReleaseNumber リリースの番号。
Stage リリースのステージ。
Tag アクションを実行するサーバーをグループ化するためのタグ。
TeamProject コンポーネントのチーム プロジェクト。
TFSUrl コンポーネントの TFS URL。
構成変数やシステム変数をスクリプトで使用する場合、変数名にプレフィックス $ を付けます。 たとえば、$Stage のように指定します。
値が割り当てられない場合もあるので注意してください。 たとえば、タグでグループ化されていないサーバーにアプリを配置する場合、$Tag 変数の値は割り当てられません。