Visual studio 2015 VisualStudioTeamServices避免了2个要测试的构建
我试图为一个新的VSTS部署保持较低的构建时间,但我遇到了一个问题:我希望在构建和测试都需要成功才能运行部署的情况下进行门控部署,但由于我们的基础结构,我需要使用带有deploy标志的msbuild 当前生成步骤使用以下标志:Visual studio 2015 VisualStudioTeamServices避免了2个要测试的构建,visual-studio-2015,msbuild,azure-devops,azure-pipelines,Visual Studio 2015,Msbuild,Azure Devops,Azure Pipelines,我试图为一个新的VSTS部署保持较低的构建时间,但我遇到了一个问题:我希望在构建和测试都需要成功才能运行部署的情况下进行门控部署,但由于我们的基础结构,我需要使用带有deploy标志的msbuild 当前生成步骤使用以下标志:/p:AllowUntrustedCertificate=True/p:DeployOnBuild=True/p:PublishProfile=“$(PublishProfileName)”/p:Username=$(Username);Password=$(Passwor
/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
所需架构:
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秒,但我不知道msbuild在使用flag/p:DeployOnBuild时有什么不同。我认为应该将所需体系结构的步骤4和5拆分为一个发布定义。
这不仅是一个最佳实践,它还允许您仅在构建(步骤1、2和3)成功时启动第二部分,从而节省您的时间。
您可以将发布配置为在生成成功时自动触发,以避免手动触发并节省时间。
此外,您还可以将测试分为两个测试项目/类别,这样您就可以微调测试任务,只针对您需要的目标。
希望这对您有所帮助我认为您应该将所需体系结构的步骤4和步骤5拆分为一个版本定义。
这不仅是一个最佳实践,它还允许您仅在构建(步骤1、2和3)成功时启动第二部分,从而节省您的时间。
您可以将发布配置为在生成成功时自动触发,以避免手动触发并节省时间。
此外,您还可以将测试分为两个测试项目/类别,这样您就可以微调测试任务,只针对您需要的目标。
希望对您有所帮助。的参数/p:DeployOnBuild是指在成功构建后部署项目。构建和发布/部署之间没有区别 对于步骤4,它不会花费额外的50秒时间来构建,它会检查文件是否被修改,如果没有,结果是最新的,这意味着它不会再次构建您的项目,因此不需要额外的50秒时间。别担心。确保配置和平台相同
另一方面,baywet的建议很好,分4步和5步发布。DeployOnBuild的参数是指示在成功构建后部署项目。构建和发布/部署之间没有区别 对于步骤4,它不会花费额外的50秒时间来构建,它会检查文件是否被修改,如果没有,结果是最新的,这意味着它不会再次构建您的项目,因此不需要额外的50秒时间。别担心。确保配置和平台相同
另一方面,baywet的建议很好,分4步和5步发布。好吧,我猜这会让我成为一个傻瓜!如果我试一下,它会很好用的!好吧,我猜我是个傻瓜!如果我试一下,它会很好用的!