「GitLab篇」如何用Git平台账号登录建木CI
2022-08-22 Freedom
「GitLab篇」如何用Git平台账号登录建木CI
作者:Freedom 发布时间:2022-08-22 10:00:00

介绍

继上一篇博客「Gitee篇」如何用Git平台账号登录建木CI发布后,得到了很多小伙伴们的关注,我趁热打铁推出了如何用Git平台账号登录建木CI 系列的第二篇 「GitLab篇」如何用Git平台账号登录建木CI,有别于上一篇,此篇博客介绍了如何用GitLab平台账号登录建木CI。

v2.5.3版本开始,建木CI可以使用GitLab账号进行登录了,这篇文章给大伙讲讲如何配置、使用GitLab登录建木CI

环境搭建

GitLab支持私有化部署,我们可以搭建一个GitLab平台来测试登录建木CI

使用Docker来搭建GitLab平台,方便快捷,执行以下命令运行一个GitLab实例:

1
2
3
4
5
6
7
8
9
10
docker run -d \
--name gitlab_test \
--restart always \
-p 443:443 \
-p 80:80 \
-p 222:22 \
-v /home/gitlab/config:/etc/gitlab \
-v /home/gitlab/logs:/var/log/gitlab \
-v /home/gitlab/data:/var/opt/gitlab \
gitlab/gitlab-ce

在网页上访问刚刚搭建的GitLab,用户名为root,初始密码访问容器内的路径:/etc/gitlab/initial_root_password

image-20220811151658994

成功登录:

image-20220811151923660

配置介绍

GitLab提供的认证基本流程按照OAuth2协议进行,建木CI依照此流程来整合第三方平台的登录。

同时建木CI登录使用jwt来实现

首先介绍一下如果想要使用Git平台账号登录建木CI需要哪些配置,此处以GitLab为例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
jianmu:
api:
# 设置jwt签名使用的密钥
jwtSecret: xxxxxxxxxxxx
# 设置jwt的过期时间,单位毫秒
jwtExpirationMs: 86400000
oauth2:
# 是否允许用户注册并登录,某些情况下可能只需要团队的特定一部分人登录到CI平台,当这部分人注册并登录完毕后,可将此配置配置为false
allow-registration: true
# 指定GitLab平台
gitlab:
# 表示相应类型,此处的值固定为"code"
response-type: code
# 表示请求类型,此处的值固定为"authorization_code"
grant-type: authorization_code
# 请求token时使用的url
token-url: http://ip:port/oauth/token
# 获取授权code时使用的url
code-url: http://ip:port/oauth/authorize
# 调用api登录时使用的url
api_url: http://ip:port/api/v4/
# 第三方应用Client ID,详情请参照平台规范
client-id: xxxxxxxxxx
# 第三方应用Client Secret,详情请参照平台规范
client-secret: xxxxxxxxxx
# 用户授权的范围,此处配置为api即可
scope: api

简要介绍一下在GitLab平台上如何创建第三方应用

  1. 登录GitLab平台,点击右上角偏好设置

    image-20220811152527551

  2. 点击左上方的应用,开始创建第三方应用

    image-20220811153556551

  3. 填写必要的信息

    image-20220811153049102

  1. 点击保存应用

    image-20220811153132253

  2. 获取到必需的Client ID,Client Secret

    image-20220811153220636

效果演示

1. 如图配置好Git平台账号登录建木CI配置文件

image-20220811153511426

2. 启动项目并访问

启动成功之后,要求我们使用GitLab来登录

image-20220815155846931

3. 点击图标登录

进入GitLab的授权页面,并同意授权

image-20220815160118893

页面跳回建木CI,看到正在登录

image-20220815160128662

稍等片刻,登录成功

image-20220818162445608