jenkins实现git提交后自动化构建

以下是自己亲自实践持续集成的过程中遇到的问题,以及解决方法,作为记录,也供有需要的朋友参考
首先想实现的目标是:git提交代码后,能够自动触发jenkins构建,从而执行相应的脚本,最后查看构建历史
步骤:
前提条件是在同一个机器上部署的jenkins和安装的git,本机是mac

  1. 有一个gitlab账号,且已经有了仓库
    2.本地已经生成了ssh key,且配置到了gitlab上(详细信息就不赘述了,想了解的自行百度)
    3.安装jenkins(mac or linux),将jenkins.war包放到一个目录下,然后运行命令:
    nohup java -jar jenkins.war >out.file 2>&1 &
    (含义是在后台运行命令 java -jar jenkins.war)
    4.在本地的一个目录test下运行命令:
    git init
    git clone git@xx.xx.xx.xx:xxxx/test-jenkins.git
    (默认clone的是master分支,如果想clone别的分支,还需要运行以下命令)
    git checkout develop
    git pull origin develop (拉取远程仓库develop分支到本地)
    此时在test目录下多了一个test-jenkins文件夹,文件夹下面是代码库的develop内容
    5.接下来需要配置jenkins和gitlab了
    在jenkins主页,点击系统管理–>管理插件–>在可选插件下,查找 gitlab hook plugin,安装后重启jenkins,
    6.在jenkins上新建一个item,配置关联gitlab
    (1)新建一个item,自由风格的软件项目
    《jenkins实现git提交后自动化构建》 image.png
    (2)在源代码管理,设置如下:
    《jenkins实现git提交后自动化构建》 image.png
    (3)构建触发器配置,需要勾选“build when a change is pushed to gitlab. GitLab CI Service URL:http://10.11.3.26:8080/project/test”该项(注意:只有jenkins安装了gitlab hook plugin插件后,才有该项,不安装是没有该选项的)
    《jenkins实现git提交后自动化构建》 image.png

(4)在“构建”配置如下:

《jenkins实现git提交后自动化构建》 image.png

至此,jenkins的配置已经完成

6.接下来配置gitlab

(1)在gitlab该project界面点击side bar最下面的settings图标,如下图

《jenkins实现git提交后自动化构建》 image.png

(2)然后再点击侧边栏中的“web Hooks”,在“URL”一栏输入在第5步骤中的(3)中的URL:
http://a.b.c.d:8080/project/test,见下图:

《jenkins实现git提交后自动化构建》 image.png

点击确定
(3)点击TEST HOOK按钮,如果提示“Hook successfully executed”,说明gitlab和jenkins关联成功
7.接下来就开始验证了:
在本地的另一个目录提交一个文件a.txt到gitlab并push后,回到jenkins主页,会发现构建正在进行
以上工作全部完成,谢谢~~

    原文作者:慧琴如翌
    原文地址: https://www.jianshu.com/p/967895761953
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞