写点什么

「GitLab 篇」如何用 Git 平台账号登录建木 CI

作者:Jianmu
  • 2022 年 8 月 22 日
    北京
  • 本文字数:1263 字

    阅读完需:约 4 分钟

「GitLab篇」如何用Git平台账号登录建木CI

介绍

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

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


环境搭建

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

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

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



成功登录:


配置介绍

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

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

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

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 平台,点击右上角偏好设置


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



3.填写必要的信息

4.点击保存应用

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


效果演示

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



2. 启动项目并访问

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



3. 点击图标登录

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



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



稍等片刻,登录成功



官⽹:https://jianmu.dev

代码:https://gitee.com/jianmu-dev

文档:https://docs.jianmu.dev

示例:https://ci.jianmu.dev

用户头像

Jianmu

关注

国产开源CI/CD产品 2020.08.10 加入

建木持续集成平台基于建木,致力于为国内开发者与DevOps人员提供极致用户体验,提升开发、上线、运维的效率,让软件用户专注于提供业务价值。

评论

发布
暂无评论
「GitLab篇」如何用Git平台账号登录建木CI_开源_Jianmu_InfoQ写作社区