LabDefaultTemplate 工作流活动
本主题介绍LabDefaultTemplate.11.xaml文件描述Windows工作流活动。 LabDefaultTemplate定义在实验室环境允许您,以生成、部署和测试应用程序的Lab Management工作流过程。 若要了解有关Windows工作流,请参见MSDN网站上的以下页面 Windows workflow foundation (WF)开发人员的介绍在.NET 4。
要求
- Visual Studio 旗舰版, Visual Studio 高级专业版, Visual Studio 专业测试工具版
初始化工作流
LabDefaultTemplate的根是TfsBuild.Process事件。 此 ActivityBuilder 初始化工作流生成定义的全局参数从"实验室工作流参数向导提供的在生成定义窗口和输入。
参数
LabWorkflowParameters 参数包含在实验室工作流参数向导所提供的数据。 此参数是包含以下对象的 LabWorkflowDetails 对象:
BuildDetails |
存储生成的 Microsoft.TeamFoundation.Lab.Workflow.Activities.BuildDetails 对象用于生成详细信息,部署,并且测试工作流。 |
DeploymentDetails |
存储信息对于生成部署在工作流中所需的 Microsoft.TeamFoundation.Lab.Workflow.Activities.DeploymentDetails 对象。 |
EnvironmentDetails |
存储信息以确定该环境用于编译,部署和测试方案的 Microsoft.TeamFoundation.Lab.Workflow.Activities.LabEnvironmentDetails 对象。 |
TestParameters |
存储的 Microsoft.TeamFoundation.Lab.Workflow.Activities.RunTestDetails 对象需要创建自动测试参数详细信息测试运行。 |
以下参数同时声明全局范围内:
参数 |
类型 |
---|---|
Metadata |
ProcessParameterMetadataCollection |
Verbosity |
指定信息写入日志的 Verbosity 的枚举值。 |
BuildNumberFormat |
指定生成号格式的 String。 |
SupportedReasons |
指定生成的根源的 BuildReason的枚举值。 |
应用程序部署工作流顺序
![]() |
应用程序部署工作流 顺序控制整个生成,部署,并且测试方案。 应用程序部署工作流 声明以下变量:
|
运行生成
更新生成号 |
更新生成号 展开并返回该 BuildNumberFormat 参数的生成号。 更新生成号 是 Microsoft.TeamFoundation.Build.Workflow.Activities.UpdateBuildNumber 事件。 |
获取生成详细信息 |
获取生成详细信息 返回需要运行的数据或访问工作流向导中指定的生成。 IBuildDetail对象在 BuildDetail 变量存储。 获取生成详细信息 是 Microsoft.TeamFoundation.Build.Workflow.Activities.GetBuildDetail 事件。 模板设置下列属性:
|
![]() |
如果生成所需的 确定新的生成是否为Team System生成所需的过程。 如果条件匹配,工作流运行 请生成 序列。 |
![]() |
请生成 顺序启动生成,等待生成完成,然后将生成位置。 |
开始生成工作流 |
开始生成工作流 排队到指定的生成控制器的新生成并返回已排队生成的ID在 QueueBuildId 变量中。 开始生成工作流 是 RunWorkflow 事件。 模板设置下列属性:
|
等待生成完成 |
等待生成完成 挂起执行,直到生成完成时或超时间隔。 如果超时时间已到达,则此活动会引发异常。 该事件将生成的状态。BuildStatus 变量和数据提供有关 ChildBuildDetail变量的新生成。 等待生成完成 是 WaitForWorkflow 事件。 模板设置下列属性值:
|
设置的生成位置 |
设置的生成位置 分配生成的位置。ChildBuildDetail 变量为 LabWorkflowParameters 参数的 BuildDetails.BuildUri 属性。 |
部署应用程序
更新部署摘要 |
更新部署摘要 编写部署目标环境的名称对生成的页。 更新部署摘要 是 WriteDeploymentInformation 事件。 |
GetBuildLocationAndBuildNumber |
GetBuildLocationAndBuildNumber 返回生成的放置位置。BuildLocation 变量。 GetBuildLocationAndBuildNumber 是 GetBuildLocationAndBuildNumber 事件。 模板设置下列属性:
|
![]() |
如果 计算所需的生成位置 条件匹配,计算生成路径 添加平台和生成配置子文件夹添加到放置位置。 |
![]() |
如果用户选择存储的环境 检查该环境部署和 指示错误 引发异常,如果环境存储在库中。 |
获取实验室环境 |
获取实验室环境 返回环境的URI。LabEnvironmentUri 变量。 获取实验室环境 是 GetLabEnvironmentUri 事件。 模板设置以下properities:
|
![]() |
如果还原快照 确定用户是否请求将环境还原为干净的快照。 如果该条件时,还原快照 顺序运行;否则 清理未指定快照 写入生成摘要的警告消息。 |
![]() |
在 还原快照 序列,获取快照详细信息 计算该快照的ID,并且,还原到快照的实验室环境 执行恢复。 |
获取快照详细信息 |
获取快照详细信息 是 GetLabEnvironmentSnapshotId 事件。 模板设置下列属性:
|
还原到快照的实验室环境 |
还原到快照的实验室环境 是 RestoreLabEnvironment 事件。 模板设置下列属性:
|
![]() |
如果需要部署 确定用户是否请求部署。 |
![]() |
如果该条件时,执行部署 顺序运行。 |
等待工作流功能准备就绪 |
等待工作流功能准备就绪 挂起执行,直到该环境的工作流功能准备就绪或超时间隔为止。 如果超时间隔已过时引发异常。 等待工作流功能准备就绪 是 WaitForWorkflowCapabilityServices 事件。 模板设置下列属性:
|
![]() |
运行部署脚本 正在 DeploymentDetails.Scripts 属性包含列表 LabWorkflowParameters 参数的每个部署脚本的 运行实验室系统上的脚本 序列。 |
![]() |
运行实验室系统上的脚本 顺序执行在虚拟机中指定的脚本在环境中。 运行实验室系统上的脚本 声明以下变量:
|
初始化代理标记和部署脚本 |
初始化代理标记和部署脚本 展开该脚本的宏和标记并返回该 ScriptDetails 对象的结果。 初始化代理标记和部署脚本 是 InitializeAgentSpecAndEnvironmentVariables 事件。 模板设置下列值:
|
实验室代理范围 |
实验室代理范围 确定实验室代理是否已安装并运行在目标虚拟机然后调用 运行部署脚本 执行该脚本。 如果任何一个脚本在计算机,会引发异常。 实验室代理范围 是 Microsoft.TeamFoundation.Build.Workflow.Activities.AgentScope事件。 模板设置下列属性:
|
运行部署脚本 |
运行部署脚本 执行在目标虚拟机的部署脚本。 运行部署脚本 是 RunDeploymentScript 事件。 模板设置下列值:
|
成功的应用程序部署 |
成功的应用程序部署 对生成摘要将信息写入。 成功的应用程序部署 是 WriteDeploymentInformation 事件。 |
![]() |
后期部署快照 确定用户是否请求该环境的快照将在部署后保存。 如果此条件时,采用后期部署快照 顺序执行。 否则,文章中未指定的部署快照 写入记录的警告消息。 |
![]() |
采用后期部署快照 顺序 采用后期部署快照 声明以下变量: |
![]() |
检查快照名称 确定快照名称是否指定了。 如果该条件时,使用指定的名称;否则使用默认值。 |
采用后期部署快照 |
采用后期部署快照 是创建快照的 SnapshotLabEnvironment 事件。 模板设置下列属性:
|
采用成功的快照 |
采用成功的快照 写入生成摘要快照名称。 采用成功的快照 是 WriteDeploymentInformation 事件。 |
快照中添加了连接链接 |
快照中添加了连接链接 写入快照的URL "生成摘要的。 快照中添加了连接链接 是 WriteDeploymentInformation 事件。 |
运行测试
![]() |
运行在测试环境 确定是否自动测试请求。 如果该条件时,运行测试 顺序执行。 |
![]() |
运行测试 运行测试 声明以下变量:
|
等待测试功能准备就绪 |
等待测试功能准备就绪 挂起执行,直到该环境的测试功能准备就绪或超时间隔为止。 如果超时间隔已过时引发异常。 等待测试功能准备就绪 是 WaitForTestCapabilityServices 事件。 模板设置下列属性:
|
运行测试 |
运行测试 执行测试并返回测试结果。 运行测试 是 ExecuteRemoteTestRun 事件。 模板设置下列值:
|
![]() |
如果所有测试未通过 确定是否测试失败并执行 设置生成的状态,如果该条件。 |
设置生成的状态 |
设置生成的状态 确定工作流是否包含应用程序的生成和部署。 如果此条件时,部分受succeded 将工作流状态到 BuildStatus.PartiallySucceeded 值。 否则,失败 设置 BuildStatus 变量设置为 Failed。 |