Visual Studio 团队服务避免 2 次构建测试

Visual Studio Team Services Avoid 2 Builds to Test

我正在努力缩短新 VSTS 部署的构建时间,但我 运行 遇到了一个问题:我想进行封闭部署,其中构建和测试都需要成功部署到 运行,但由于我们的基础架构,我需要使用带有部署标志的 msbuild。

当前构建步骤使用标志:/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)

所需架构:

Step 1: Nuget Restore

Step 2: Build Solution

Step 3: Run Tests

Step 4: Deploy built solution

Step 5: Other Deploy Tasks

基本上我不想在我不需要的地方招致两次 50 秒,但我不知道在使用标志 /p:DeployOnBuild 时 msbuild 有什么不同。

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

/p:DeployOnBuild参数表示构建成功后部署项目。构建之间没有区别,然后 publish/deploy.

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

另一方面,baywet的建议还是不错的,分4、5步发布