适用于所有环境的一个 build\release 与适用于所有环境的多个 biulds\releases
Posted
技术标签:
【中文标题】适用于所有环境的一个 build\\release 与适用于所有环境的多个 biulds\\releases【英文标题】:One build\release for all environments vs multiple biulds\releases for all environments适用于所有环境的一个 build\release 与适用于所有环境的多个 biulds\releases 【发布时间】:2019-03-21 09:14:46 【问题描述】:在我目前的设置中,这是正在发生的事情,
构建开发 构建 Uat 构建生产然后,
发布开发 释放 Uat 发布生产现在的问题是我们只有 1 个代理(不知道为什么),这种情况并不经常发生,但有时我们需要快速构建和发布热修复程序,但是每个 BUILD 大约需要 10 分钟以上并且无法运行与其他构建平行。发行版也一样。因此,将修补程序部署到生产只需要 2 小时左右的痛苦过程。
需要单独构建:
在构建时,我们像这样指定构建命令,
ng build -configuration --uat
ng build -configuration --prod
为什么我们不应该为所有环境创建一个构建\发布?假设有办法为不同的配置创建不同的工件,或者我们可能只是在 azure 或类似的东西上使用应用程序设置。
【问题讨论】:
【参考方案1】:虽然这个问题主要倾向于获得基于意见的答案 (more info here),但我我会继续回答它。
就我而言,您应该只有一个构建并且让工件在所有*环境中传播。二进制文件(工件)不会改变,只有它们的配置会改变。这是您确保在不同环境中运行的代码之间没有任何差异的唯一方法。
* 您的开发环境可能/可以是一个特殊的 cookie。某些开发环境使开发人员能够进行远程调试和此类任务,因此在您的开发环境上构建 Debug 是有意义的。
【讨论】:
以上是关于适用于所有环境的一个 build\release 与适用于所有环境的多个 biulds\releases的主要内容,如果未能解决你的问题,请参考以下文章
Nodejs找不到模块'../build/Release/canvas'
Centos 7.2 安装 Python 3.5(适用于Python 3所有版本安装)