配置变量和系统变量
通常在部署应用时,需要访问脚本的配置或系统设置。 当值可能根据配置、生成、服务器或发布而更改时,你就无需在多个位置对值进行硬编码。 若要避免对值进行硬编码,在 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 变量的值。