joh*_*sam 14 linux svn svn-hooks
我在Linux上运行SVN.我希望一旦提交就运行自动部署.基于我的搜索,看起来像svn post-commit可能会做到这一点.但我无法从我的SVN安装中找到SVN后提交.所以我想知道它是否是一个单独的安装?我可以下载和安装任何SVN post-commit钩子吗?
Dav*_* W. 21
首先,您可能不希望将此作为后提交.原因是你不想在钩子中做任何花费太长时间的事情,因为用户必须等待钩子完成才能继续.
要回答您的问题,请查看服务器上的存储库目录,您应该看到以下目录和文件:
其中一个目录被调用hooks
.看看这个目录:
这些是各种钩子的模板.您将看到这些都是简单的BASH/Korn/Bourne shell脚本.您将使用该svnlook
命令获取有关您的用户刚刚提交的修订或事务(如果是预提交挂钩)的信息.
您要做的是运行命令svnlook changed
以查看更改的内容,然后根据此信息,您将必须获取文件并进行部署.这意味着您必须创建一个工作目录并进行结帐.想象一下,开发人员正在进行签入,然后等待您的提交后挂钩进行签出和部署.
你最好做的就是让像詹金斯这样的东西做你的提交任务.Jenkins通常是一个连续构建服务器.每当有人提交时,Jenkins都会对该项目进行结帐并进行构建.它可以运行各种测试,如果有任何问题,然后通过电子邮件发送给开发人员.
但是,如果你真的没什么可构建的,它也可以简单地进行结账和部署.Jenkins使用Java 1.6运行,但除此之外,它很容易安装和使用.这是所有菜单驱动的,您不需要知道如何创建XML文件或编写任何程序来使用它.
所以,看看Jenkins,看看从那里开始部署.这样,您的开发人员可以在Jenkins处理部署时继续工作.而且,如果部署出现问题,您可以让Jenkins发送电子邮件,IM,推文,甚至将红绿灯更改为红色.