使用Ruby on Rails和Capistrano进行部署追踪

4
每个提交都有一个原因和目的,我认为每个部署也都有一个目的和原因。源代码提交有注释,但是部署没有。
如何自动记录每个部署的原因和目的?
我需要记录以下内容:
- 谁在何时部署到哪里? - 为什么要部署?修复错误?功能更新?紧急修复不在迭代计划中? - 使用了哪个git或svn引用?
有人感觉需要这种系统吗?你对我的方法有何看法?
如何实现我的目标?我目前正在使用Capistrano进行部署。

有人发布了赏金。我想听听不同开发者关于“持续部署”的更多故事。


我发现两个可以进行部署跟踪的服务:


1
你不能只是标记你的发布版本并将它们与这样的文档一起提交吗? - ryeguy
你使用哪些源代码控制工具?有些工具可以让你记录/跟踪发布。 - FrustratedWithFormsDesigner
我使用Git版本控制系统。 - TK.
标记只告诉我们哪个版本被“标记”了,对吧?我需要标记的元信息。 - TK.
5个回答

3

1
这是一个有趣的方法。与Redmine之类的连接可能更酷,但我会研究一下它。 - TK.
如果Redmine这样的软件内置了这个功能,那就太理想了。 - TK.
将Webistrano和Redmine集成将是一件了不起的事情。在我看来,Redmine的插件比内置功能更好。我想这取决于您的组织范围,无论您喜欢SaaS还是单片式软件方法。 - Tony Topper

1

我的当前项目使用了一个修改过的版本的apinsein的git-deployment recipe,当你告诉cap去部署时,它会用一个Git标签来标记当前的HEAD(这样你就能享受到正常的Git提交所带来的所有好处)。


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

0

我不知道这是否仍然相关,但我想提出一个不同的解决方案。我正在构建一个新的部署工具,它正是您所寻找的。

我并不打算在这里发布广告,但由于我正在构建一些可能会对您有所帮助的东西...

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

更新

如建议所述,我来解释一下 :)

我也感到了这种需求。我在一家数字创业公司工作,我们每周5天都在不同的Ruby on Rails应用程序上使用Capistrano进行部署。

我们注意到,对于每个单独的部署,我们应该完成几件事情:

  • 跟踪哪些拉取请求和提交在那个时刻上线了
  • 为部署命名,以便我们可以识别它
  • 通知我们的团队成员,以便每个人都能了解最新进展(而不必问我们关于部署的新闻)
  • 跟踪每次部署,以便将来发现错误和漏洞(这经常发生)
因此,我们开始开发这个定制解决方案,它将与Capistrano和我们的SCM(bitbucket)集成,并跟踪我们对主分支所做的每一次更改。这就是它目前的功能。
我们目前正在跟踪部署环境、仓库来源、部署分支和修订版本。主要管理拉取请求,因为我们发现拉取请求比提交更好地解决了我们团队中的组织问题(没有像PR这样严格的系统,很难批准其他团队成员的代码)。
如果您愿意,我想向您介绍更多关于Captain和我们个人的开发管理策略。
感谢@thirumalaimurugan的澄清!
更新2
我们也尝试过git标记。一开始很好玩,但我们无法很好地管理它们。
标记基本上是指向特定修订版本的书签。所以我们在谈论提交。标记不会跟踪拉取请求。这对我们来说相当混乱。
我不认为它们在你尝试实现的目标方面很糟糕,但我认为必须有其他解决方案可以完全适合您(和我们)的问题。

给出解释而不仅仅给出链接 - Thirumalai murugan

0

Strano - 基于Github的Capistrano部署管理UI。

关于持续部署,我还在那里提交了拉取请求,为GitHub项目引入自动部署,目前它只是在有人推送到主分支时触发部署任务。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接