持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

一、背景

之前的项目是 public 的,如果我们在 gitlab上面把它修改成 private,然后再次打开配置,就可能会出现下面的错误,两种协议都会进行报错。

名称IP备注
Jenkins172.18.2.101内网IP
Gitlab172.18.2.100内网IP

ssh 协议

持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

http 协议

持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

二、ssh 协议配置

1、在 Jenkins 服务器上面生产 SSH Keys

如果要通过 git 协议拉取代码,需要建立 Jenkins 服务器和 Gitlab 服务器的无密码通信,我们首先要生存一组密钥对。

ssh-keygen -t rsa -C "wzlinux"
[root@jenkins ~]# ll .ssh/
total 12
-rw------- 1 root root 1675 Sep  3 22:05 id_rsa
-rw-r--r-- 1 root root  408 Sep  3 22:05 id_rsa.pub
-rw-r--r-- 1 root root  348 Sep  4 21:21 known_hosts

2、在 Gitlab 上面配置生产的 SSH Keys

我们登录 gitlab,打开自己的用户设置,选择 SSH Keys 选项进行配置,填写我们刚刚生成的公钥(id_rsa.pub)。
SSH Keys 帮助我们建立 jenkins 到 gitlab 的安全无密码连接。

持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

3、在 jenkins 服务器上面测试代码拉取

[root@jenkins test]# git clone git@172.18.2.100:java/game.git
Cloning into 'game'...
remote: Enumerating objects: 1768, done.
remote: Counting objects: 100% (1768/1768), done.
remote: Compressing objects: 100% (584/584), done.
remote: Total 1768 (delta 1112), reused 1768 (delta 1112)
Receiving objects: 100% (1768/1768), 15.02 MiB | 0 bytes/s, done.
Resolving deltas: 100% (1112/1112), done.

我们可以看到,配置了SSH Keys之后,我们可以直接在服务器上面无密码拉取代码了。

4、再次打开jenkins任务配置

当我们再次打开配置,发现认证还是有问题,这时候我们需要添加认证,因为 jenkins 并不知道我们的秘钥。

持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

添加私钥,然后确定。

持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

认证选择我们刚刚添加的私钥,已经不再报错。

持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

5、构建测试

修改了权限之后,我们重新构建项目,查看整个过程。

持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

没有任何问题,SSH Keys权限认证通过。

三、http 协议配置

1、配置认证

和 ssh 基本一样,我们只需要再添加认证的时候写我们在 gitlab 上面的用户名密码即可。

持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

然后再选择对应的认证方法。

持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

2、构建测试

拉取代码也没有什么问题。

持续集成之 Jenkins 如何通过 Gitlab 上的权限认证(三)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值