使用Ruby on Rails和Capistrano部署跟踪

时间:2010-05-21 15:49:13

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

就像每次提交都有理由和目的一样,我认为每次部署都有目的和理由。源代码提交有一个评论。但部署没有任何。

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

我需要保留以下记录:

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

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


补充金额。我想听听来自不同开发人员的更多故事,他们正在进行“持续部署”。


我找到了两个部署跟踪的服务:

5 个答案:

答案 0 :(得分:3)

Webistrano - http://wiki.github.com/peritor/webistrano - 是一个访问capistrano的网络界面,它还可以跟踪谁部署了什么和什么时间,因此值得调查。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

我为这个确切的问题构建了一个Web服务, http://deploytracking.com ,它挂钩到capistrano并记录所涉及的时间,用户,分支,参考,环境和回购部署。

答案 3 :(得分:0)

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

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

答案 4 :(得分:0)

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

无论如何,请看这里https://alessiosantocs.github.io/Captain。我正在收集反馈意见,如果您有任何意见,请告诉我。

更新

正如所建议的,我正在给出解释:)

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

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

  • 跟踪哪些拉取请求和提交已准确上线
  • 为部署提供某种名称,以便我们识别它
  • 提醒我们的团队成员,以便每个人都可以在同一页面上(不要求我们部署新闻)
  • 跟踪我们可能在某个时间点(经常发生)发现的未来错误和错误的每个部署。

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

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

如果您愿意,我想向您解释更多关于船长和我们个人开发管理策略的内容。

感谢@thirumalaimurugan要求澄清!

更新2

我们也尝试了git标记。一开始它很好玩,但我们无法很好地管理它们。

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

我不认为他们对你想要实现的目标不好,但我认为必须有一些其他解决方案可以完全符合你(以及我们)的问题。