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


    介绍

    这是《如何用Git平台账号登录建木CI》系列文章的第三篇,建木CI立志整合所有第三方Git平台来登录建木CI!此篇我们将整合Gitea平台来登录建木CI。

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

    环境搭建

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

    使用docker-compose的方式来搭建Gitea平台,详情请参见如何使用docker搭建Gitea(https://docs.gitea.io/zh-cn/install-with-docker/);方便快捷,使用docker-compose up -d执行以下docker-compose脚本运行一个Gitea实例(请更改数据库配置):

    1. version: "3"
    2. networks:
    3. gitea:
    4. services:
    5. server:
    6. image: gitea/gitea:1.17.1
    7. container_name: gitea
    8. environment:
    9. - USER_UID=1000
    10. - USER_GID=1000
    11. - GITEA__database__DB_TYPE=mysql
    12. - GITEA__database__HOST=xxx.xxx.xxx.xxx:3306
    13. - GITEA__database__NAME=gitea
    14. - GITEA__database__USER=root
    15. - GITEA__database__PASSWD=root
    16. restart: always
    17. networks:
    18. - gitea
    19. volumes:
    20. - /home/gitea:/data
    21. - /etc/timezone:/etc/timezone:ro
    22. - /etc/localtime:/etc/localtime:ro
    23. ports:
    24. - "3000:3000"
    25. - "223:22"

    在网页上访问刚刚搭建的Gitea,点击登录,没有账号则可以在登录页面注册一个账号


     

    成功登录:

    配置介绍

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

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

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

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

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

    1. 登录Gitea平台,点击右上角Gitea的图标中的设置


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

    3. 填写必要的信息

    4. 点击创建应用

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

    效果演示

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

    2. 启动项目并访问

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

    3. 点击图标登录

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



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

    稍等片刻,登录成功

    官⽹:https://jianmu.dev

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

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

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

     

  • 相关阅读:
    【工具】SSH端口转发管理器,专门管理SSH Port Forwarding
    HEC-RAS水动力模型的一维二维及耦合建模
    开源云管平台有哪些?有哪些优势?
    Redis消息队列
    分组密码--DES详解
    b站小土堆pytorch学习记录—— P17 土堆说卷积操作
    Backblaze 2023全年硬盘故障质量报告解读
    XP系统快捷方式故障
    Redis —— 自动主从切换
    【INTEL(ALTERA)】Nios II软件开发人员手册中设计位置的错误示例
  • 原文地址:https://blog.csdn.net/Jianmu_Dev/article/details/126832242