git+jenkins+harbor+kubernates可持续集成构建之 —— 配置gitlab

大家好,我是Linux运维工程师 Linke 。技术过硬,很少挖坑~

gitlab+jenkins+kubernates 的 gitlab 这里,配置做好以后,做一个gitlab新增项目规范文档后,之后几乎不再需要运维插手,有任何新项目,研发兄弟们只需要照的文档加点儿东西即可实现代码自动被发布。

下面的内容就是如何让它触发 jenkins 了。策略就是某个项目在 gitlab 上打了 tag 后,就调用 jenkins 提供的回调接口,jenkins 收到 gitlab 的通知,来这个项目上拉取最新 tag 下的项目

首先在git上创建一个只用于和 jenkins 交互的用户op

创建好用户后,给 op 用户设置密码

然后先使用 op 这个用户,先创建一个用于测试的项目 

 然后就是选择git和jenkins的交互方式了,通俗易懂点儿的话说,其实就是想办法让 jenkins 可以免密克隆git上的项目代码。有两种方式可以选择,第一种是使用jenkins服务器的ssh公钥在 gitlab服务器上生成一个 sshkey ,然后jenkins就可以通过 git 的 ssh 地址拉取代码了;第二种是直接使用 gitlab 用于拉取代码的用户密码,这种方式使用 ssh 地址或者 http 地址都可以拉代码。这两种方式,只有第一种方式需要在 gitlab 上做 sshkey 的配置,第二种不需要在 gitlab 上做任何事。

如果使用第一种方式,需要在 gitlab 里将 jenkins 服务器的公钥按下面的方式生成。

登陆op用户,给此用户创建 ssh key ,公钥使用 jenkins 服务器上的 .ssh/id_rsa.pub (可使用 ssh-keygen 命令生成,注意,用哪个用户启动的jenkins服务,就用哪个用户的 .ssh/id_rsa.pub),因为之后是 jenkins 服务器去拉取 gitlab 上的项目。

 如果使用第二种方式,不需要在 git 上做什么,直接在 jenkins上使用 git 的用户密码生成一个连接钥匙即可。

#1 gitlab 配置自动触发 jenkins 来克隆代码

进入git项目后,在 setting 中选择 webhooks

jenkins这两条信息,在博客 《git+jenkins+harbor+kubernates可持续集成构建之 —— centos7.7安装配置jenkins》的这一段  “#3 配置gitlab自动触发jenkins”

 如果添加时报错,说明gitlab服务器没有开启 webhook 功能,使用 admin 用户去开启一下即可,这里就不做介绍了

保存以后,会出现 Project Hooks ,按照图中方式测试一下是否能调通

 

 如图显示 200 说明可以成功回调到 jenkins ,此时 jenkins 上会有新的构建任务被自动启动。

然后我们再测试能否通过打 tag 去触发jenkins,如图所示

 new tag后进入打 tag 界面

 

 tag打成功后

查看 jenkins 构建任务是否被触发

至此,持续集成方案的 git + jenkins 这段路就已经铺设完毕。

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

#2 其他git用户的项目回调jenkins

下面再来测试一下其他用户创建的项目如何也可以触发到jenkins

先创建一个gitlab用户 rd

登陆到 rd 用户,创建一个项目 ,进入Setting 的 Members 中,给op用户一个可拉取代码的权限

权限选择 reporter 即可 

然后到jenkins配置一个属于此项目的工程,请参照博客《git+jenkins+harbor+kubernates可持续集成构建之 —— centos7.7安装配置jenkins》小节  “#4 其他git用户的项目回调jenkins

jenkins那边配置完后,会得到一个新的回调地址,把它复制到这个新项目的 webhooks 中,token使用上次生成的即可

 添加成功后,测试一下

显示 200 说明回调jenkins成功,此时jenkins构建任务中会被自动触发。 

 

 查看jenkins可以看到一个新任务被触发了

没问题后,再打个 tag 就会被自动触发到jenkins上了。

 

 

gitlab 的配置也就能说这么多了,依据实际情况,做出自己的东西。

如果我为你处理难题,赞一个。 感谢支持!!!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值