前几篇分文章分别介绍了OpenLDAP的部署管理和维护以及SVN、Git的接入,今天我们再下一城接入Jenkins。
使用LDAP认证需要安装LDAP插件,安装插件有两种方法:
安装方法:登录Jenkins --> 系统管理 --> 插件管理 --> 可选插件 --> 搜索LDAP --> 选中 --> 直接安装 --> 安装完成重启
因我们已经安装过了LDAP插件,所有这里搜索不到LDAP插件,只有LDAP Email插件
如果安装失败,网上也有说在插件管理 --> 高级 --> 升级站点里替换URL为https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json
的,但是我替换了之后依然没有成功,最后还是使用方法二安装成功的
插件下载地址:https://updates.jenkins-ci.org/download/plugins/
安装方法:官网下载插件 --> 登录Jenkins --> 系统管理 --> 插件管理 --> 高级 --> 上传插件 --> 选择文件 --> 上传 --> 安装完成后重启
上传插件安装可能会失败,大部分都是提示你当前插件依赖某些插件,只需要下载全部依赖插件,按照顺序上传安装即可,LDAP插件安装完成后,所有依赖的插件如下:
登录Jenkins --> 系统管理 --> 全局安全配置
访问控制选择“LDAP”,Server输入LDAP服务器地址,有其他配置可以点击“Advanced Server Configuration...”
ldap.domain.com
(默认端口389),或者ldap.domain.com:1389
,如果用了SSL,可以填写ldaps://ldap.domain.com
(默认端口636),或者ldaps://ldap.domain.com:1636
ou=Admin
,这是一个相对的值,相对于上边的root DN,例如你上边的root DN填写的是dc=domain,dc=com
,那么user search base这里填写了ou=Admin
,那么登陆用户去LDAP搜索时就只会搜索ou=Admin,dc=domain,dc=com
下的用户了uid={0}
({0}会自动的替换为用户提交的用户名),如果你想用LDAP中的mail作为用户名来登录,那么这里就需要改为mail={0}
。在测试的时候如果提示你user xxx does not exist
,而你确定密码输入正确时,就要考虑下输入的用户名是不是这里定义的这个值了User search base
解释cn=admin,dc=domain,dc=com
这样下边还有一些配置如:环境变量Environment Properties、servlet容器代理等,很少用就不多解释了。有一个配置Enable cache
可能会用得到,当你的LDAP数据量很大或者LDAP服务器性能较差时,可以开启缓存,配置缓存条数和过期时间,那么在过期时间内新请求优先查找本地缓存认证,认证通过则不会去LDAP服务器请求,以减轻LDAP服务器的压力
User search filter
里定义的LDAP中的属性,密码就是LDAP的密码配置完成并测试通过后就可以用LDAP直接登录了,注意:启用了LDAP登录后将无法再用之前的登录方式(例如本地认证)登录