首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >版本控制和发布管理

版本控制和发布管理
EN

Stack Overflow用户
提问于 2009-11-11 20:36:23
回答 8查看 4.7K关注 0票数 6

是否有所谓的“版本控制系统”也支持实际的发布管理/部署?

我曾经工作过的大型机商店有一个自动化的发布管理工具,它不仅可以控制对源代码的并发修改,还可以运行编译器、预编译器、数据库绑定实用程序等,这也使它成为我们的全自动化部署工具。

我的理解是,“更现代的”版本控制工具只支持源代码管理部分。这种理解是正确的吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-11-11 20:40:42

这是绝对不正确的。任何现代版本控制工具都支持提交前和提交后挂钩,在这一点上,您可以运行任何您想要的代码。

在subversion中,我们使用提交后挂钩在开发人员每次签入代码时将应用程序的副本部署到开发服务器。

在我们的实际生产服务器中,我们有代码来验证并部署稳定的次要版本标签,因为它们是由发布经理提交到代码库的。

票数 5
EN

Stack Overflow用户

发布于 2009-11-11 20:47:42

版本控制与发布管理或部署关系不大,因此VCS也不尝试这样做是有道理的。

我在这方面看到的是build或Continuous Integration (CI) servers。它们监听VCS中的更改,在任何提交时执行新的签出,然后尝试构建所有内容。因此,他们集成了VCS和构建工具,收集其中的日志,并将所有内容呈现在一个漂亮的web UI中。

这样,每个工具都可以保持简单。

编辑CI服务器的附加值:

  1. 它可以分析构建脚本的输出,并在邮件或网页中显示概述。
  2. 它可以确保所有测试在提交后运行。不再“但它为我运行”。
  3. 其中一些支持延迟提交(它只会在所有测试运行时提交对VCS的更改)
  4. 它可以在几个相互依赖的项目上运行构建。
票数 6
EN

Stack Overflow用户

发布于 2009-11-11 20:41:03

这取决于你希望在这样的系统上投入多少资金和时间。许多人使用简单的版本控制-如svn,并手动管理发布(使用标签和分支)还有其他(免费)工具用于持续集成(不断构建应用程序),如cruisecontrol。

在数据库字段中,我不知道自由世界中有什么好东西,但这里有人可能会完成这项工作。所以到目前为止,我手动管理数据库版本...

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1714925

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档