我有一个包含dev和master分支的有角度的项目,想要以下内容:Azure Devops中的测试环境和生产。当某些东西提交给开发人员时,我希望将dev分支代码部署到测试环境中;当代码提交给master时,我希望将master分支部署到生产环境中。
我的问题如下:我需要2个基于“ ng build --dev”和“ ng build --prod”的工件。我该如何实现?我需要在master和dev分支中添加“ azure-pipelines.yml”文件吗?如果是这样,如果我将开发人员合并到母版中,则开发人员的“ azure-pipelines.yml”将与母版合并...最好的方法是什么?
答案 0 :(得分:1)
我建议在您的所有阶段的所有中使用ng build --prod
。您的应用程序应该只有一个一个构建阶段,该阶段可以构建应用程序并发布工件(二进制文件)以在部署阶段(例如dev / prod)中使用它们。
使用这种方法,您可以在发布测试前先在测试环境中测试相同二进制文件。在prod中,您可以为应用程序使用其他配置,但是二进制文件本身应该相同。
此外,在部署到生产环境之前,我会引入一个批准过程,而不是自动将其部署到生产环境。
简而言之:创建一个多阶段管道,在推送到开发人员/主用户后,它会自动构建应用程序并将其部署到您的测试环境中。对于产品部署,添加批准检查和condition以确保只有来自master分支的构建才可以部署到该阶段。