Visual Studio Team Services避免使用2个构建进行测试

时间:2016-08-12 15:26:29

标签: visual-studio-2015 msbuild azure-devops azure-pipelines

我试图为新的VSTS部署保持较低的构建时间,但我遇到了一个问题:我想进行门控部署,其中构建和测试都需要成功部署运行,但由于我们的基础设施,我需要使用带有部署标志的msbuild。

当前构建步骤使用标志:<shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="@color/pink_dark"/> <corners android:radius="3dp"/> </shape>

当前架构:

/p:AllowUntrustedCertificate=True /p:DeployOnBuild=true /p:PublishProfile="$(PublishProfileName)" /p:Username=$(UserName);Password=$(Password) /p:EnableMSDeployAppOffline=true

理想的架构:

Step 1: Nuget Restore (3s)

Step 2: Build/Deploy Solution (50s)

Step 3: Other Deploy Tasks (102s)

基本上我不想在我不需要的地方招两次50,但是当我使用flag /p:DeployOnBuild时,我不知道msbuild的做法有何不同。

2 个答案:

答案 0 :(得分:1)

我认为您应该将所需架构的第4步和第5步拆分为版本定义 这不仅是一种最佳实践,它还允许您仅在构建(步骤1,2和3)成功时激活第二部分,从而节省您的时间。
您可以将发布配置为在构建成功时自动触发,以避免手动触发并节省时间 也许您可以在两个测试项目/类别之间拆分测试,从而允许您微调测试任务,仅针对您需要的目标。 希望有所帮助

答案 1 :(得分:1)

/ p:DeployOnBuild的参数表示在成功构建后部署项目。构建之间没有什么不同,然后发布/部署。

对于第4步,构建时不会花费50多倍的时间,它会检查文件是否被修改,如果没有,结果是最新的,这意味着它不会构建你的项目再次,所以不需要50多个额外的时间。别担心。确保配置和平台相同。

另一方面,baywet的建议相当不错,分4步和5步即可发布。