是否有所谓的“版本控制系统”也支持实际的发布管理/部署?
我曾经工作过的大型机商店有一个自动化的发布管理工具,它不仅可以控制对源代码的并发修改,还可以运行编译器、预编译器、数据库绑定实用程序等,这也使它成为我们的全自动化部署工具。
我的理解是,“更现代的”版本控制工具只支持源代码管理部分。这种理解是正确的吗?
发布于 2009-11-11 20:40:42
这是绝对不正确的。任何现代版本控制工具都支持提交前和提交后挂钩,在这一点上,您可以运行任何您想要的代码。
在subversion中,我们使用提交后挂钩在开发人员每次签入代码时将应用程序的副本部署到开发服务器。
在我们的实际生产服务器中,我们有代码来验证并部署稳定的次要版本标签,因为它们是由发布经理提交到代码库的。
发布于 2009-11-11 20:47:42
版本控制与发布管理或部署关系不大,因此VCS也不尝试这样做是有道理的。
我在这方面看到的是build或Continuous Integration (CI) servers。它们监听VCS中的更改,在任何提交时执行新的签出,然后尝试构建所有内容。因此,他们集成了VCS和构建工具,收集其中的日志,并将所有内容呈现在一个漂亮的web UI中。
这样,每个工具都可以保持简单。
编辑CI服务器的附加值:
发布于 2009-11-11 20:41:03
这取决于你希望在这样的系统上投入多少资金和时间。许多人使用简单的版本控制-如svn,并手动管理发布(使用标签和分支)还有其他(免费)工具用于持续集成(不断构建应用程序),如cruisecontrol。
在数据库字段中,我不知道自由世界中有什么好东西,但这里有人可能会完成这项工作。所以到目前为止,我手动管理数据库版本...
https://stackoverflow.com/questions/1714925
复制相似问题