目录
- 背景
- 步骤
- 1. 安装插件
- 2. Gitlab 配置
- 3. Jenkins 配置
- 4. 验证
背景
版本
- Jenkins Version:Jenkins 2.403
- Gitlab Version: Gitlab 15.6
- 部署环境:群晖NAS Docker 部署Jenkins+Gitlab
Jenkins 默认使用的是自带的数据库,支持LDAP,Servlet 容器代理,Unix User/Group Database。如果要让Jenkins支持 Gitlab 账号登录,需要安装 Gitlab Authentication plugin 插件。
一般情况下,研发和SRE都会有内部的Gitlab账号,Gitlab账号会配置Ldap用户登录。为了便于后期管理Jenkins,大多数会选项配置 Jenkins 支持 Gitlab账号登录。
步骤
1. 安装插件
在Jenkins的插件管理中搜索 Gitlab Authentication plugin 即可找到插件点击安装即可
2. Gitlab 配置
点击Gitlab右上角用户选择 Preferences,进入到User Setting
点击 Applications,新增Application
Name: 随意
Redirect URI: [Jenkins地址]/securityRealm/finishLogin
Scopes: api
保存后,复制对应的Application ID + Secret
3. Jenkins 配置
在系统管理->全局安全配置中,配置安全域:选择Gitlab Authentication Plugin
Gitlab Web URI & Gitlab API URI: [Gitlab 的地址]
Client ID: 上一步Application ID
Client Secret: 上一步的Secret
授权策略有很多选择,这里先选择登录用户可以做任何事
4. 验证
退出登录,会提示跳到gitlab 登录页面。如果已经在Gitlab 登录,会在Gitlab里面提示是否允许授权登录。点一次允许授权即可,后续不会再填出来提示
重新登录,先选择Gitlab的Root账号登录,即Name是Administrator的用户
如果不先用Administrator登录,后面配置 Role-based Authorization Strategy 可能会导致root用户一样无权限