如何安装svn post-commit hook

joh*_*sam 14 linux svn svn-hooks

我在Linux上运行SVN.我希望一旦提交就运行自动部署.基于我的搜索,看起来像svn post-commit可能会做到这一点.但我无法从我的SVN安装中找到SVN后提交.所以我想知道它是否是一个单独的安装?我可以下载和安装任何SVN post-commit钩子吗?

Dav*_* W. 21

首先,您可能不希望将此作为后提交.原因是你不想在钩子中做任何花费太长时间的事情,因为用户必须等待钩子完成才能继续.

要回答您的问题,请查看服务器上的存储库目录,您应该看到以下目录和文件:

  • 的README.txt
  • CONF
  • D b
  • 格式
  • 挂钩

其中一个目录被调用hooks.看看这个目录:

  • 后commit.tmpl
  • 后lock.tmpl
  • -版本属性后change.tmpl
  • 后unlock.tmpl
  • 预commit.tmpl
  • 预lock.tmpl
  • 的pre-revprop-change.tmpl
  • 预unlock.tmpl
  • 启动commit.tmpl

这些是各种钩子的模板.您将看到这些都是简单的BASH/Korn/Bourne shell脚本.您将使用该svnlook命令获取有关您的用户刚刚提交的修订或事务(如果是预提交挂钩)的信息.

您要做的是运行命令svnlook changed以查看更改的内容,然后根据此信息,您将必须获取文件并进行部署.这意味着您必须创建一个工作目录并进行结帐.想象一下,开发人员正在进行签入,然后等待您的提交后挂钩进行签出和部署.

你最好做的就是让像詹金斯这样的东西做你的提交任务.Jenkins通常是一个连续构建服务器.每当有人提交时,Jenkins都会对该项目进行结帐并进行构建.它可以运行各种测试,如果有任何问题,然后通过电子邮件发送给开发人员.

但是,如果你真的没什么可构建的,它也可以简单地进行结账和部署.Jenkins使用Java 1.6运行,但除此之外,它很容易安装和使用.这是所有菜单驱动的,您不需要知道如何创建XML文件或编写任何程序来使用它.

所以,看看Jenkins,看看从那里开始部署.这样,您的开发人员可以在Jenkins处理部署时继续工作.而且,如果部署出现问题,您可以让Jenkins发送电子邮件,IM,推文,甚至将红绿灯更改为红色.

  • Jenkins已经安装了Subversion插件,因此它适用于box_的Subversion _out.还有Git,ClearCase,StarTeam,BItKeeper,Baazar以及许多其他源控制系统的插件. (2认同)

zho*_*shu 15

这不是一个单独的安装.在您的存储库目录中,有一个'hooks'目录.你可以找到post-commit.tmpl,只需修改文件并根据你的os类型将其重命名为可执行文件.