Jenkins或SVNNotify

时间:2014-02-14 15:48:33

标签: node.js jenkins svn-notify

我想做以下情况:

  1. 在提交到svn之后,通知服务器(例如,运行node.js服务器)
  2. 通知服务器后,服务器应重新启动。
  3. 我可以使用Post commit hook让我知道什么时候发生svn提交。 但在那之后我不确定如何继续前进。使用Jenkins或SVN Notify。 我知道Jenkins可以在提交后生成构建并发送电子邮件,但是它们是否可以通知服务器(node.js服务器)重新启动? SVNNotify - 它只能发送电子邮件吗?或者我可以用它来通知服务器重启吗?

1 个答案:

答案 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

但我不建议这样做,因为很难维护和传播

的逻辑