每个分支的Azure Devops azure-pipelines.yml

时间:2019-12-09 08:35:01

标签: angular azure deployment azure-devops

我有一个包含dev和master分支的有角度的项目,想要以下内容:Azure Devops中的测试环境和生产。当某些东西提交给开发人员时,我希望将dev分支代码部署到测试环境中;当代码提交给master时,我希望将master分支部署到生产环境中。

我的问题如下:我需要2个基于“ ng build --dev”和“ ng build --prod”的工件。我该如何实现?我需要在master和dev分支中添加“ azure-pipelines.yml”文件吗?如果是这样,如果我将开发人员合并到母版中,则开发人员的“ azure-pipelines.yml”将与母版合并...最好的方法是什么?

1 个答案:

答案 0 :(得分:1)

我建议在您的所有阶段的所有中使用ng build --prod。您的应用程序应该只有一个一个构建阶段,该阶段可以构建应用程序并发布工件(二进制文件)以在部署阶段(例如dev / prod)中使用它们。

使用这种方法,您可以在发布测试前先在测试环境中测试相同二进制文件。在prod中,您可以为应用程序使用其他配置,但是二进制文件本身应该相同。

此外,在部署到生产环境之前,我会引入一个批准过程,而不是自动将其部署到生产环境。

简而言之:创建一个多阶段管道,在推送到开发人员/主用户后,它会自动构建应用程序并将其部署到您的测试环境中。对于产品部署,添加批准检查和condition以确保只有来自master分支的构建才可以部署到该阶段。

相关问题