首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >svn post-commit execute (如果消息为~Revision.blah)

svn post-commit execute (如果消息为~Revision.blah)
EN

Stack Overflow用户
提问于 2011-08-30 23:50:59
回答 2查看 1.6K关注 0票数 3

我需要一个更智能的提交后脚本。

如果提交消息类似于“添加修订版-v.10.3产品”,则需要执行ssh命令。

是否可以使用post-commit来实现这一点?

EN

回答 2

Stack Overflow用户

发布于 2011-08-31 03:00:42

不是的!不是的!不是的!

您应该做的最后一件事是在post commit上执行ssh

我不确定你的意图是什么,我认为它们是可敬的。但是,请记住,Subversion在post-commit钩子完成执行之前不会将控制权返回给客户端。如果您的ssh命令只用了10秒就执行完了,那么在用户可以执行任何操作之前,他们就会看到svn commit挂起了10秒。

在这十秒钟内,用户会对你、公司和颠覆产生强烈的仇恨。他们将成为他们以前的自己的苦涩的外壳,这将是你的错!你想让这种负罪感笼罩在你头上吗?我可不这么认为。

最好的解决方案是使用像Jenkins这样的持续构建服务器,并让它执行您的SSH命令。它可以获取命令的结果,如果失败,就将结果通过电子邮件发送给开发人员和他们的团队。Jenkins非常容易设置和使用,并且通过Jenkins (即,正确的方式)来完成这一点应该不会超过几个小时(最多)。

因此,用户提交不会挂在那里,但他们仍然会获得他们需要的信息。而且,由于你将它绑定到Jenkins,你可能会发现Jenkins的各种插件,它们可以做你认为不可能的各种奇妙的事情。你会成为英雄,被尊崇为神。这不是比沸腾的仇恨更好吗?

是你的选择。

(顺便说一句,您可以通过执行svn propget --rev-prop -r $REV svn:log来获取提交消息)

票数 1
EN

Stack Overflow用户

发布于 2012-04-14 03:05:19

仅供参考,我刚刚设置的是在提交后执行的php脚本。如果您熟悉PHP,这将为您提供大量控制,并使您可以运行ssh命令。我在这里概述了它:https://stackoverflow.com/a/10146169/654235

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7246012

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档