• 为什么写博客,是因为遇到的坑,不希望别人在踩一遍!
  • 选择了,剩下的就是坚持和努力-------致自己!
  • 当能力达不到梦想时,更需要学习,努力,拼搏

Jenkins系列(四) Jenkins 和gitlab 集成

Jenkins 雪豹 6年前 (2018-02-22) 1391次浏览 0个评论

第1章 Jenkins 和gitlab 集成

设置jenkin回调地址

通常,jenkins在项目配置的时候,是可以配置远程构建触发器,设置好jenkins的回调url,就可以让jenkins进行构建。
但是,源码服务器是gitlab的情况下,我们可以不用每个项目都手动配置jenkins的回调url,利用插件Gitlab Hook Plugin,它帮助我们在Git类型的构建任务中都配置了一个默认的回调url。

 

1.1 安装插件

实现:需要安装gitlab 钩子脚本 Gitlab Hook Plugin 和Build Authorization Token Root Plugin 安装后记得重启。

#建议GitLab Plugin 建议升级最新或GitLab Plugin 1.4.5 以上(这地方踩过坑)

images

1.1 配置Gitlab Hook Plugin

配置Gitlab Hook Plugin有两个地方

选择项目

images

配置

images

1.1 构建触发器

在构建触发器中选择 触发远程构建 和 Build when a change is pushed to GitLab

images

1.1 问题:不显示 Build when a change is pushed to GitLab (没有问题略过)

jenkins 安装Gitlab Hook Plugin 和Build Authorization Token Root Plugin插件后不显示Build when a change is pushed to GitLab.

解决方法:

1、下载安装 Gitlab Hook Plugin 和Build Authorization Token Root Plugin 两个插件

2、查看更新GitLab Plugin 1.4.5及以上。这个插件注意下,如果使用的是低版本的,可能会导致后面的配置中看不到 Build when a change 选项

images

Build when a change is pushed to GitLab. GitLab CI Service URL: http://172.16.1.53:8080/project/demo-deploy

#我们的git发生变动是构建这个

Build when a change is pushed to GitLab. GitLab CI Service URL: http://172.16.1.53:8080/project/auto-deploy

建立当变化推到gitlab。gitlab CI服务网址:HTTP:/ / 172.16.1.53:8080 /项目/自动部署

1.1 使用openssl 生成验证值

jenkins 令牌 和 gitlab 令牌想连接。(需要安装插件)

设置权限(如果直接访问没有权限)安装管理插件

需要安装 Build Authorization Token Root Plugin (插件最初让大家安装过。)

#直接输入命令就行

[www@node2 web-demo]$ openssl rand -hex 10

44d4aa17b1c7dbb89aeb

1.2 设置构建触发器和身份验证令牌

将刚才生效的10位身份验证命令

images

1.1 gitlab 中添加钩子

选择gitlab 所在项目

images

在jendkins 构建触发器中的地址 http://172.16.1.53:8080/project/auto-deploy修改后正确的

例子:

http://172.16.1.53:8080/buildByToken/build?job=auto-deploy&token=44d4aa17b1c7dbb89aeb

例子讲解

http://自己地址:8080/buildByToken/build?job=项目名称&token=身份验证密码

1.1 选择Webhooks

备注:旧版本gitlab 打开项目后 在右上角配置可以选择 Webhooks

新版本8.17.5 选择Integrations (集成)

[root@gitlab ~]# rpm -qa|grep gitlab

gitlab-ce-8.17.5-ce.0.el6.x86_64

images

旧版本

images

1.1 选择创建 Webhooks

1、期中Push events 默认选择,这里只要输入jenkins url地址

2、其它保持默认、Add Webhook 保存

images

1.1 查看

保存后在 Webhooks显示

images

点击test 测试

查看在jenkins 中已经构建

images

1.1 模拟生产环境

#在一台web 部署主机中add 一个文件或修改 最后git push
[www@node2 web-demo]$ cd /webroot/web-demo/
#创建一个文件
 [www@node2 web-demo]$ touch webhooks.txt
[www@node2 web-demo]$ vim webhooks.txt 
#git add 添加文件
[www@node2 web-demo]$ git add webhooks.txt 
#git 状态
[www@node2 web-demo]$ git status
# On branch master
# Changes to be committed:
#   (use "git reset HEAD ..." to unstage)
#
#	new file:   webhooks.txt
#
# Untracked files:
#   (use "git add ..." to include in what will be committed)
#
#	config.ini
#	crontab.xml
#git commit 备注
[www@node2 web-demo]$ git commit -m "add webhooks.txt"
[master 03a8138] add webhooks.txt
 1 files changed, 1 insertions(+), 0 deletions(-)
 create mode 100644 webhooks.txt
#git push 记得这时候查看 jenkins 
[www@node2 web-demo]$ git push
Counting objects: 4, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 272 bytes, done.
Total 3 (delta 1), reused 0 (delta 0)
To git@gitlab.example.com:web/web-demo.git
   f385399..03a8138  master -> master

#查看jenkins

images

 

 


有需要可以联系微信xuebao19930721和加入微信群
喜欢 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址