Jenkins+Gitlab 持续集成

前言

Gitlab上发生push event后就会出发jenkins build

步骤

  1. 登陆gitlab,在User setting中配置Access Tokens
    Jenkins+Gitlab 持续集成_第1张图片
    如图所示,填写完 Name和Expires date之后,选中四个Scopes,就可以点击Create personal access token来生成API token. 在生成之后,要注意把token保存下来,因为之后无法查看了。
  2. 登陆Jenkins下载Gitlab plugin。下载好之后,点击系统设置,找到Gitlab那个选项,配置Gitlab Connections,注意Gitlab host URL填写Gitlab的http地址,Credentials中创建Gitlab API token,创建好之后,点击Test Connection测试一下,出现Success表示连接成功。
  3. 最后进入Job,在Source Code Management中选择Git,Repository URL中填写对应repository的http地址,Credentials里选择 Username with password,注意 username是你登陆gitlab的用户名,password是之前生成的access token,填好之后,如果没有报错表明成功。
  4. Build Triggers中选择Build when a change is pushed to GitLab,点开Advanced,在Secret token的菜单栏中点击 Generate,生成一个token。
  5. 再返回到Gitlab上,进入到要连接的project中,点击settings->Integration,填写URL和Secret Token。这里的Secret Token就是步骤4中生成的token。
    Jenkins+Gitlab 持续集成_第2张图片
    注意这里的URL地址中是project目录而不是job目录!
    生成webhook之后,点击旁边的Test->Push events 就可以运行啦!
    等等,这个时候运行出现了internal error,经过排查发现,我的jenkins服务器运行在自己的虚拟机上,地址是一个内网地址,但是Gitlab却是一个公网地址,公网地址无法访问内网地址。
    于是在虚拟机的网卡上做了一个内网到公网地址的映射,将上图中的URL改为对应的公网地址,然后再运行,出现了http的status是200就表示运行成功啦!这时可以在Jenkins上面看到正在运行的job。

你可能感兴趣的:(Jenkins)