如何安装svn post-commit hook

我在Linux上运行SVN。 我希望一旦提交就运行自动部署。 基于我的search,看起来像svn后提交可能会做的伎俩。 但是我无法从我的SVN安装中findSVN后提交。 所以我想知道这是不是一个单独的安装? 有什么SVN后提交挂钩,我可以下载并安装?

Solutions Collecting From Web of "如何安装svn post-commit hook"

这不是一个单独的安装。 在您的respository目录中,有一个“钩子”目录。 你可以找到post-commit.tmpl,只要修改文件并根据你的操作系统类型将其重命名为可执行文件即可。

首先,你可能不希望这样做后提交。 原因是你不想做任何需要花费很长时间才能完成的事情,因为用户必须等待钩子完成才能继续。

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

  • 的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 ,看看svnlook changed了什么变化,然后基于这些信息,你必须获取文件,并部署它。 这意味着你将不得不创建一个工作目录并进行结账。 想象一下,开发人员正在执行签入操作,然后等待提交后的挂钩执行签出和部署。

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

但是,如果你真的没有东西需要构建,它也可以简单地进行结账和部署。 Jenkins使用Java 1.6运行,但是否则,安装和使用起来相当容易。 这都是菜单驱动的,你不需要知道如何创建XML文件或编写任何程序来使用它。

所以,看看詹金斯,看看从那里做你的部署。 这样,当Jenkins处理部署时,您的开发人员可以继续工作。 而且,如果部署出现问题,您可以让Jenkins发送电子邮件,IM,Tweet,甚至将交通信号灯从绿色变为红色。