azure - 适用于所有环境的一个 build\release 与适用于所有环境的多个 biulds\releases
问题描述
在我目前的设置中,这是正在发生的事情,
- 构建开发
- 构建 Uat
- 建立生产
进而,
- 发布开发
- 释放 Uat
- 发布生产
现在的问题是我们只有 1 个代理(不知道为什么),这种情况并不经常发生,但有时我们需要快速构建和发布热修复程序,但是每个 BUILD 大约需要 10 分钟以上并且不能与其他代理并行运行构建。发行版也一样。因此,将修补程序部署到生产只需要 2 小时左右的痛苦过程。
需要单独构建:
在构建时,我们像这样指定构建命令,
ng 构建-配置--uat
ng 构建-配置--prod
为什么我们不应该为所有环境创建一个构建\发布?假设有办法为不同的配置创建不同的工件,或者我们可能只是在 azure 或类似的东西上使用应用程序设置。
解决方案
尽管这个问题主要倾向于获得基于意见的答案(更多信息在这里),但我将继续回答它。
就我而言,您应该只有一个构建并且让工件在所有*环境中传播。二进制文件(工件)不会改变,只有它们的配置会改变。这是确保在不同环境中运行的代码之间 没有任何差异的唯一方法。
* 您的开发环境可能/可以是一个特殊的 cookie。一些开发环境使开发人员能够进行远程调试和此类任务,因此在您的开发环境上构建调试是有意义的。
推荐阅读
- machine-learning - “NoneType”对象没有属性“add_summary”
- python - 基本 Python 问题:elif 无效语法错误
- linux-kernel - 如何在 Linux 中启用 cgroup
- asynchronous - 如何通过异步服务间通信服务同步客户端服务器通信?
- matlab - MATLAB中每个元素的索引数组?
- php - 登录成功但登录成功后错误会话被拒绝
- r - 在ggplot map R Studio中更改图例中的文本
- oracle - 在 oracle 中将 blob(image) 转换为 varchar
- python - 如何将 Numpy 数组中的 Lab 元素相乘?
- c - 从c中的txt文件读取