zoukankan      html  css  js  c++  java
  • Jenkins基础篇 系列之-—09 认识钩子

    一、认识钩子

    钩子(Hook),是系统消息处理机制的一个平台,应用程序可以在上面设置子程序以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理消息或特定事件。

    二、GitLab 中的webhook

    Git上一般都有专门的webhook配置页面

    实例:利用GitLab webhook来实现触发Jenkins自动操作

    1. jenkins 中安装插件

    • Gitlab Hook Plugin
    • GitLab Plugin

    2. jenkins job 配置

    配置源码管理后,配置对应的构建触发器,选择【Build when a change is pushed to GitLab】

    3. 设置GitLab的webhook

    3.1 选择对应的项目,点击Settings-->Integrations,

    3.2 在打开的Integrations配置页面中录入步骤2中URL,Secret Token,其他保持默认设置,点击Add webhook

    3.3 点击Test,可以测试配置是否成功

    三、SVN中的hook

    svn的hook机制,跟其他很多类似的工具一样,hook机制的本身就是在某个具体的时机所触发的内容,类似于事件驱动的回调

    svn在每个代码仓库下有一个hooks目录用于放hook脚本, 目前默认包含了如下9种hook的模板

    [root@idcflow2175 hooks]# pwd
    /home/svn/csvn/data/repositories/tr2/hooks
    [root@idcflow2175 hooks]# ll
    -rw-r--r-- 1 svn svn 1977 Jul 1 2013 post-commit.tmpl
    -rw-r--r-- 1 svn svn 1638 Jul 1 2013 post-lock.tmpl
    -rw-r--r-- 1 svn svn 2289 Jul 1 2013 post-revprop-change.tmpl
    -rw-r--r-- 1 svn svn 1567 Jul 1 2013 post-unlock.tmpl
    -rw-r--r-- 1 svn svn 3447 Jul 1 2013 pre-commit.tmpl
    -rw-r--r-- 1 svn svn 2455 Jul 1 2013 pre-lock.tmpl
    -rw-r--r-- 1 svn svn 2786 Jul 1 2013 pre-revprop-change.tmpl
    -rw-r--r-- 1 svn svn 2143 Jul 1 2013 pre-unlock.tmpl
    -rw-r--r-- 1 svn svn 2780 Jul 1 2013 start-commit.tmpl

    参考如下:钩子脚本就是shell脚本

    #!/bin/bash
    source /etc/profile
    java -jar /root/jenkins-cli.jar -s http://47.104.77.127:8080/jenkins/ -auth test:123qwe build test

    注意事项

    1. 脚本后缀:以tmpl结尾不起作用。

    在Unix/Linux系统下,需删除tmpl的后缀,而windows则需要将.tmpl改成.bat。修改之后立即起效,无需重新启动svn服务。

    2.使用 chmod 命令设置为可执行权限

    3. 由于安全原因,Subversion版本库在一个空环境中执行钩子脚本—即没有任何环境变量,甚至没有$PATH或%PATH%。由于这个原因,许多管理员会感到很困惑,它们的钩子脚本手工运行时正常,可在Subversion中却不能运行。要注意,必须在你的钩子中设置好环境变量或为你的程序指定好绝对路径

     参考资料

  • 相关阅读:
    【题解】Killer Names($O(nlog n)$做法)
    【瞎讲】类欧几里得入土教程
    【题解】SDOI2010所驼门王的宝藏(强连通分量+优化建图)
    【题解】ARC101F Robots and Exits(DP转格路+树状数组优化DP)
    【题解】LOJ6060 Set(线性基)
    【题解】CF1056F Write the Contest(三分+贪心+DP)
    【题解】多少个$1$(exBSGS)
    【题解】幼儿园篮球题(范德蒙德卷积+斯特林+NTT)
    【题解】P1373 小a和uim之大逃离
    【题解】地精部落(DP)
  • 原文地址:https://www.cnblogs.com/liuyitan/p/12177621.html
Copyright © 2011-2022 走看看