Build automation 在部署方面,自动化程度有多高?

Build automation 在部署方面,自动化程度有多高?,build-automation,production,Build Automation,Production,我有ci,因此我们的登台环境会自行构建。 我是否应该有一个脚本,它不仅可以构建产品,还可以为产品进行所有分支? 当你有一个基于两个不同URL的代码并进行蒙皮时,是否应该要求它们同时构建?在我看来,计算机能够自动完成的任何事情都应该做到,因为它可以更快、更容易地完成,而且不需要你去想。当然,这是合理的,但是像这样的事情要自动化是非常琐碎的,所以我一直支持自动化整个过程 而且它也可以很有趣 实现自动化的唯一方法是,如果您花费更多的时间来构建或修复自动化脚本,而不仅仅是手动操作。只要您的自动化脚本比手

我有
ci
,因此我们的登台环境会自行构建。
我是否应该有一个脚本,它不仅可以构建产品,还可以为产品进行所有分支?

当你有一个基于两个不同URL的代码并进行蒙皮时,是否应该要求它们同时构建?

在我看来,计算机能够自动完成的任何事情都应该做到,因为它可以更快、更容易地完成,而且不需要你去想。当然,这是合理的,但是像这样的事情要自动化是非常琐碎的,所以我一直支持自动化整个过程


而且它也可以很有趣

实现自动化的唯一方法是,如果您花费更多的时间来构建或修复自动化脚本,而不仅仅是手动操作。只要您的自动化脚本比手动执行工作花费更少的时间和产生更少的错误,那么自动化就非常好


用于构建和分支用于生产的脚本是一个好主意

我喜欢将构建和部署步骤分为两个单独的步骤。构建步骤的输出应该是放置在存储库或暂存区域中的包。此软件包应独立于目标环境

部署步骤负责配置目标环境并安装包

我喜欢这种方法的原因是:

  • 我有一个包可以在我的开发、测试和生产环境中运行。这将减少QA和开发之间的争论
  • 部署期间可能需要配置不同的元素。应用程序服务器设置、数据库模式、数据加载等,从自动构建脚本执行这些操作可能不那么容易

在我看来,如果您的生产支持团队中没有人能够在紧要关头手动部署应用程序,那么它就太自动化了。自动化部署确实减少了简单但常见的错误,如配置错误。但是,必须始终选择手动部署