【问题标题】:Deploy tracking with Ruby on Rails and Capistrano使用 Ruby on Rails 和 Capistrano 部署跟踪
【发布时间】:2010-05-21 15:49:13
【问题描述】:

就像每次提交都有一个原因和目的一样,我认为每次部署都有一个目的和原因。源代码提交有注释。但是部署没有。

如何自动记录每次部署的原因和目的?

我需要记录:

  • 谁部署到了哪里,什么时间。
  • 为什么部署? Bug修复?功能更新?紧急修复不在迭代计划上?
  • 使用了哪个 git 或 svn ref?

有没有人觉得需要这种系统?你觉得我的方法怎么样? 我怎样才能实现我的目标?我目前正在使用 Capistrano 进行部署。


增加了赏金。我想听听更多来自不同开发者的“持续部署”故事。


我发现了两个部署跟踪的服务:

【问题讨论】:

  • 你不能只标记你的版本并用这样的文件提交它们吗?
  • 您使用什么工具进行源代码控制?有些会让你记录/跟踪发布。
  • 我使用Git版本控制系统。
  • 标记只告诉哪个版本被“标记”,对吧?我需要标签的元信息。

标签: ruby-on-rails deployment capistrano continuous-deployment


【解决方案1】:

Webistrano - https://github.com/peritor/webistrano/wiki - 是 capistrano 的 Web 界面,它还可以跟踪谁在什么时间部署了什么,因此值得研究。

【讨论】:

  • 这是一个有趣的方法。与 Redmine 或其他东西挂钩可能会更酷,但我会调查一下。
  • 如果像Redmine这样的软件内置了这个功能就很理想了。
  • Webistrano 和 Redmine 的集成将成为炸弹。 Redmine 的插件会比内置功能 IMO 更好。我想这取决于您的组织范围,您喜欢 SaaS 还是单一的软件方法。
【解决方案2】:

我当前的项目使用 apinsein's git-deployment recipe 的修改版本,它(当您告诉 cap 进行部署时)将使用 Git 标记标记当前 HEAD(这为您提供了正常 Git 提交的所有好处)。

【讨论】:

    【解决方案3】:

    我已经为这个确切的问题构建了一个 Web 服务,http://deploytracking.com,它连接到 capistrano 并记录部署中涉及的时间、用户、分支、引用、环境和 repo .

    【讨论】:

      【解决方案4】:

      Strano - Github 支持的 Capistrano 部署管理 UI。

      关于持续部署,我也在那里提交了拉取请求,Introduce automatic deployments for GitHub projects,现在它只是在有人推送到主分支时触发部署任务。

      【讨论】:

        【解决方案5】:

        我不知道它是否仍然相关,但我想提出一个不同的解决方案。我正在构建一个新的部署工具,它可以满足您的需求。 我不打算在这里发送垃圾邮件,但因为我正在构建可以帮助您的东西......

        不管怎样,看看这里https://alessiosantocs.github.io/Captain。我正在收集反馈,如果您有任何反馈,请告诉我。

        更新

        按照建议,我正在做一个解释:)

        我也感受到了这种需要。我在一家数字初创公司工作,我们每周 5 天不断地使用 Capistrano 在不同的 Ruby on Rails 应用程序上部署东西。

        我们注意到,对于每一次部署,我们都应该做几件事:

        • 跟踪哪些拉取请求和提交在那一刻上线
        • 为部署命名,以便我们识别它
        • 提醒我们的团队成员,以便每个人都在同一页面上(无需询问我们部署的新闻)
        • 跟踪每次部署,以防我们可能在某个时间点发现未来的错误和错误(这种情况经常发生)

        因此,出于这个原因,我们开始开发这种自定义解决方案,该解决方案将与 Capistrano 和我们的 SCM (bitbucket) 集成,并跟踪我们对主分支所做的每一次更改。这就是它现在所做的。

        我们目前正在跟踪部署环境、repo 源、部署分支和修订。我们主要管理拉取请求,因为我们发现拉取请求比提交更好地解决了我们团队中的组织问题(如果没有像 PR 那样的严格系统,很难批准其他团队成员的代码)

        如果你们愿意的话,我想和你们一起解释一下关于 Captain 和我们个人开发管理策略的更多信息。

        感谢@thirumalaimurugan 要求澄清!

        更新 2

        我们也尝试过 git 标记。一开始很好很有趣,但我们不能很好地管理它们。

        标签基本上是特定版本的书签。所以我们谈论的是提交。标签不跟踪拉取请求。这对我们来说是一团糟。

        我不认为他们在你想要达到的目标方面做得不好,但我认为必须有一些其他解决方案可以完全解决你(以及我们的)问题。

        【讨论】:

        • 给出解释而不是只给出链接
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-15
        • 2015-11-11
        • 2020-06-07
        • 2010-10-07
        • 1970-01-01
        • 2015-02-09
        相关资源
        最近更新 更多