我想做以下情况:
我可以使用Post commit hook让我知道什么时候发生svn提交。 但在那之后我不确定如何继续前进。使用Jenkins或SVN Notify。 我知道Jenkins可以在提交后生成构建并发送电子邮件,但是它们是否可以通知服务器(node.js服务器)重新启动? SVNNotify - 它只能发送电子邮件吗?或者我可以用它来通知服务器重启吗?
答案 0 :(得分:0)
或者不是使用push“Hook”,您可以让您的集成服务器“jenkins”定期执行“轮询”,这可以通过运行使用cron选项卡更改检查轮询您的版本控制系统的作业来实现< / p>
这样做......
工作 - &gt;配置
选择您选择git / svn / cvs等的“源代码管理”
构建触发器 - &gt;选择“投票SCM”我建议每2分钟安排一次“H / 2 * * * *”
然后在Continuous Integration作业上重新部署到服务器,重新启动服务器等
有关cron计划的更多详情 - &gt; How to schedule jobs in Jenkins?
如果你真的想要一个推送工作,它是通过使用post commit hook在jenkins服务器上卷曲一个url来实现的,这里有说明 - &gt; https://wiki.jenkins-ci.org/display/JENKINS/Subversion+Plugin
脚本是
REPOS="$1"
REV="$2"
UUID=`svnlook uuid $REPOS`
/usr/bin/wget \
--header "Content-Type:text/plain;charset=UTF-8" \
--post-data "`svnlook changed --revision $REV $REPOS`" \
--output-document "-" \
--timeout=2 \
http://server/subversion/${UUID}/notifyCommit?rev=$REV
但我不建议这样做,因为很难维护和传播
的逻辑