美文网首页
自建git仓库 搭配jenkins插件 Generic Webh

自建git仓库 搭配jenkins插件 Generic Webh

作者: 张建勇9511 | 来源:发表于2020-07-21 18:09 被阅读0次

    1.git仓库搭建参考

    https://www.runoob.com/git/git-server.html

    2.生成ssh key

    windows(开发使用)

    打开git bash
    输入

    ssh-keygen -t rsa -C "你的邮箱地址"
    

    生成秘钥,默认在用户目录下的.ssh文件夹内


    image.png

    linux(jenkins使用)

    在命令行内输入,默认在当前用户目录下的.ssh文件夹内

    ssh-keygen -t rsa -C "你的邮箱地址"
    
    image.png

    3.配置公钥

    id_rsa.pub文件用文本编辑器打开,复制出来
    服务器切换到git用户,vi打开

    vi ~/.ssh/authorized_keys
    

    将复制出来的公钥,粘贴进去,一行一个


    image.png

    4.配置jenkins凭据

    添加一个凭据

    image.png

    username :生成key时配置的邮箱
    Passphrase:密码
    Private Key:私钥,在.ssh目录下的id_rsa文件内,复制出来

    5.jenkins项目配置

    5.1 jenkins 下载插件 Generic Webhook Trigger Plugin

    image.png

    5.2 源码管理

    image.png

    配置仓库地址
    验证需要刚刚添加的凭证

    5.3 触发构建,配置webhook

    构建触发器下的 Generic Webhook Trigger 打钩


    image.png

    token自己设置一个

    5.4 配置git hook

    在服务器上创建的仓库目录下有个hooks目录,里面有很多.sample文件都是案例文件
    我们的目的是push代码触发构建,需要使用到的钩子是 post-receive,在hooks目录下新建一个名字为 post-receive的脚本文件


    image.png

    脚本内容

    #!/bin/bash
    #########
    # git hooks 
    # by zhangjianyong 2020年7月21日
    #########
    
    HOOKS_LOG="/mnt/data/git/gitrepo/bimuyu-api.git/hooks/log/hooks.log"
    echo "代码提交触发:" `date "+%y-%m-%d %H:%M:%S"` >> $HOOKS_LOG
    
    while read oldrev newrev ref
    do
            echo "当前触发分支:"$ref >>  $HOOKS_LOG
            curl -i -X POST -H "Content-Type: application/json" -d "{\"ref\":\"$ref\"}" http://xxx.xxx.xxx/generic-webhook-trigger/invoke?token=xxxx>> $HOOKS_LOG
    done   
    

    保存脚本,添加可执行权限

    chmod +x post-receive 
    

    提交代码后,就会触发该脚本,通知jenkins触发构建

    6.maven构建相关配置

    https://www.jianshu.com/p/6d8671ad99dd

    相关文章

      网友评论

          本文标题:自建git仓库 搭配jenkins插件 Generic Webh

          本文链接:https://www.haomeiwen.com/subject/ukxwkktx.html