version-control - 版本控制和发布管理

标签 version-control deployment

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

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

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

最佳答案

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

我在这方面看到的是 build 或 Continuous Integration (CI) servers .这些监听 VCS 中的更改,对任何提交进行新的检查,然后尝试构建所有内容。因此,他们集成了 VCS 和构建工具,从中收集日志并在一个漂亮的 Web UI 中呈现所有内容。

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

[编辑] CI 服务器的附加值:

  • 它可以分析您的构建脚本的输出并在邮件或网页中呈现概览。
  • 它确保在提交后运行所有测试。没有更多的“但它为我运行”。
  • 其中一些支持延迟提交(它只会在所有测试运行时提交对 VCS 的更改)
  • 它可以在多个相互依赖的项目上运行构建。
  • 关于version-control - 版本控制和发布管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1714925/

    相关文章:

    version-control - 在 perforce 上集成多个变更列表

    asp.net - 在 ASP.Net 中发布到生产环境

    ruby-on-rails - 安装sqlite3时出现push rails app to Heroku错误,Bundler无法继续

    node.js - 如何将 React 应用程序部署到 FTP 中

    ruby-on-rails - 使用Tire&Bonsai.io在Heroku上部署ElasticSearch

    git - git 能否找出要 merge 的分支有过时的更改?

    git - SVN 1.8 merge 与 Git 和 Mercurial 等 DVCS 相比如何?

    version-control - 如何获取自上一个标记版本以来CVS的提交注释列表?

    svn - 将分支合并到不共享祖先的主干上

    python - 将Flask应用程序部署到OpenShift