svn之webhook

    近期由于某些项目比较老旧的原因还在继续使用svn进行版本管理,在配置自动化部署时发现其webhook的配置与GtiLab有所区别,在此记录一下。

    以下配置实现的效果为:在SVN版本库上提交代码后,自动去出发Jenkins上的某个Job。


一、每个SVN版本库都会有一个hooks目录。里面存储了各种钩子脚本(shell)。


二、hooks触发介绍

目录下将有多个脚本

            1)、每一个都对应了一个事件。

            2)、如果要使用,需要cp一份,去掉后缀,保持和事件名一样。 hook可以用Shell,Python或其它语言写。

            3)、另外hook需要加可执行权限,否则svn commit时会报错:

                    cp post-commit.tmpl post-commit

                    chmod +x post-commit


三、事件说明

  以上表格信息参考(侵删):https://www.cnblogs.com/harrymore/p/8574134.html  

四、post-commit脚本内容参考

post-commit本事就是一个Shell脚本,我们只需要将期望的操作编写进该脚本内。SVN检测到代码有变更后,就会来执行该脚本。

#!/bin/bash

#

#SVN版本库路径

REPOS="$1"

#SVN版本号

REV="$2"

#获取当前日期

DATE_TIME=`date +%y-%m-%d`

echo "$REPOS $DATE_TIME $REV" >> /tmp/text.txt

curl "http://192.168.199.248:8080/buildByToken/build?job=weimei_dev_test_pipeline&token=a4c2159409bc5b1409cc3c2c"

#脚本内容完结,备注最后的curl就是去发起GET请求,前提是Jenkins-Job的触发器配置好这个URL。


五、Jenkins-Job触发器配置

访问链接为:curl "l "http://192.168.199.248:8080/buildByToken/build?job=weimei_dev_test_pipeline&token=a4c2159409bc5b1409cc3c2c""


其他参考资料:https://blog.csdn.net/dahuzix/article/details/49053947

推荐阅读更多精彩内容