zoukankan      html  css  js  c++  java
  • Gitlab自动触发Jenkins构建打包

    一、目的

    在部门的测试环境中,开发人员一旦向gitlab仓库提交成功代码,gitlab就会自动触发jenkins构建项目。当然在构建后还可以添加项目部署或者自动化测试的脚本。这里只针对测试环境。

    二、Jenkins配置

    2.1 安装Gitlab Hook Plugin插件:

    系统管理->管理插件->可选插件->选择安装 Gitlab Hook Plugin和Build Authorization Token Root Plugin插件。 如果没有安装Build Authorization Token,后面gitlab在Test hook时会报403错误。

    2.2 创建测试Project

    在gitlab上已建好了bd-ci-test的项目,且Jenkins用户拥有该项目的相关读写权限。
    在jenkins新建bd-ci-test项目:

    源码管理选择git,添加jenkins用户在gitlab上的凭据(即用户名密码),这里选择打包的分支为release分支,这里根据需求自己填写(默认为master分支)

    构建触发器,勾选gitlab-ci,记住后面的GitLab CI Service URL后面要填在gitlab的webhooks中:

    2.3 根据branch分支触发打包条件

    现在有develop分支和release分支,如果不做这一步,开发只要向gitlab中提交代码(develop分支或者release分支),那么jenkins就会进行构建打包,下面我们设置判断过滤只有向release分支push代码时,才会触发构建打包。

    点开高级,填写根据正则过滤branch,写法如下,并generate一个token,不然后面webhooks会报403:

    三、Gitlab配置

    在git项目配置界面设置链接和token。这里要注意路径,根据部署jenkins的路径填写,不然会报404错误,并填写刚刚对应的token信息,保存:

    点击测试,返回200的话就表示成功了。其他错误可以根据gitlab日志来排除原因gitlab/gitlab-rails/production.log:

    四、验证测试

    4.1 向gitlab提交代码:

    #vim a.txt 修改a.txt文件并提交
    #git add a.txt 
    #git commit -m 'alter a.txt'
    [release 094f663] alter a.txt
     1 files changed, 0 insertions(+), 2 deletions(-)
    #git push origin release
    Password: 
    Counting objects: 5, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (2/2), done.
    Writing objects: 100% (3/3), 283 bytes, done.
    Total 3 (delta 0), reused 0 (delta 0)
       b32472e..094f663  release -> release
    

    4.2 jenkins控制台输出信息:

    可以观察到jekins已经自动构建项目了:

  • 相关阅读:
    【数据结构】线性表&&顺序表详解和代码实例
    【智能算法】超详细的遗传算法(Genetic Algorithm)解析和TSP求解代码详解
    【智能算法】用模拟退火(SA, Simulated Annealing)算法解决旅行商问题 (TSP, Traveling Salesman Problem)
    【智能算法】迭代局部搜索(Iterated Local Search, ILS)详解
    10. js时间格式转换
    2. 解决svn working copy locked问题
    1. easyui tree 初始化的两种方式
    10. js截取最后一个斜杠后面的字符串
    2. apache整合tomcat部署集群
    1. apache如何启动
  • 原文地址:https://www.cnblogs.com/bugsbunny/p/7919993.html
Copyright © 2011-2022 走看看