在我们公司内部,我们通过DevOps为.NET Core应用程序构建和发布了大量内容。
对于这些应用程序,我们的设置是只有一个构建构件的管道,然后发布管道通过各个阶段(测试/ uat /分期/实时)来管理相同的构件。
我们在这里看到的优点是程序包是相同的,只是部署目标上的环境变量允许其运行方式发生变化,例如不同的第三方端点,不同的数据库等。
我们现在正在寻求将使用Webpack构建的Vue.js应用程序移动到DevOps中,以实现构建和部署的自动化,但这是我们面临的难题。
我们需要在解决方案中封装相同的变体(不同的api,配置等,目前通过执行npm run build:uat,npm run build:live等来管理。
这很好,但是这意味着我们需要为每种环境设置不同的版本,并放心我们为UAT发行的软件包与我们为实时发行的版本一致。
围绕这样的构建管理是否有最佳实践?
我可以看到的选项,尽管对其他人开放:
将提供任何支持或建议。
选项2应该是理解和操作的最简单的解决方案。
不需要继续使用单个工件。 一个发行版可以配置为触发多个工件资源(内部版本)。然后只需在一个发行版中合并多个构建即可。
如果没有其他运行/排队的构建,您可以创建一个向当前构建添加标签的任务。
另外为释放触发器添加标签条件。
更多详细信息,请通过以下链接查看Boindiil的答案:Combine multiple builds into one release