配置变量和系统变量

通常在部署应用时,需要访问脚本的配置或系统设置。 当值可能根据配置、生成、服务器或发布而更改时,你就无需在多个位置对值进行硬编码。 若要避免对值进行硬编码,在 Visual Studio 2013 Update 4 Release Management 中,你可以将脚本内的配置和系统变量用于 vNext 发布。

配置变量

配置变量提供在操作执行期间可用的可重用和可自定义的设置。 你可以在服务器、组件和全局上设置配置变量和默认值,然后在 PowerShell 脚本和配置脚本中使用这些值。 同时,如果你不想在部署期间使用默认值,则可重写它。 配置变量可用于,例如,设置在服务器上部署应用程序时所用的用户名称和密码。

配置变量可在全局、服务器、组件和操作级别进行设置。

  • 全局配置变量:通过“管理 > 设置 > 配置变量”进行设置。 可用于任何位置。

  • 服务器配置变量:通过“配置路径 > 服务器”,选择服务器,“配置变量”进行设置。 可用于将你的应用程序部署到服务器的操作。 用于服务器特定变量,如用户名称和密码。

  • 组件配置变量:通过“配置应用程序 > 组件”,选择组件,“配置变量”进行设置。 可用于使用组件的操作。

  • 操作配置变量:在发布模板设计器内进行设置,可用于操作。

当配置变量名称用于多个级别时,从高到低的优先级顺序是“配置脚本文件”>“操作”>“组件”>“服务器”>“全局”。

若要管理配置变量,请在“发布模板”和“发布”视图的左下角选择名为“配置变量”和“资源变量”的选项卡。

“配置变量”选项卡显示操作在每个阶段的有效配置变量。

配置变量

“资源变量”选项卡显示进行全局设置的服务器和组件的配置变量和值。 (这些是当前值,不是之前的快照。)启动新部署的正在实施的发布将使资源变量的更改生效。

资源变量

若要在操作内添加配置变量,请在发布模板设计器中,打开一个活动,单击“自定义配置”部分中的向下箭头,并指定配置变量类型是“标准”还是“加密”。 (如果使用“加密”,请确保在部署应用程序的服务器上配置了 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 变量的值。