2012-07-23 135 views
4

我们正在尝试设置Jenkins以自动化构建。我们已经使用哈德森很长一段时间,但现在我们正在迁移到詹金斯,因为Active Directory身份验证支持。 AD插件已经安装: https://wiki.jenkins-ci.org/display/JENKINS/Active+Directory+plugin 据我所见,詹金斯试图连接到AD服务器,但得到“套接字关闭”错误。这里是堆栈跟踪的部分:Jenkins和活动目录认证

Failed to test the validity of the user name <SOMEUSER> 
org.acegisecurity.BadCredentialsException: Failed to retrieve user information for <SOMEUSER>; nested exception is javax.naming.ServiceUnavailableException: <SOMENAME>.<SOMENAME>:636; socket closed; remaining name 'DC=<SOMENAME>,DC=<SOMENAME>' 
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:306) 
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:190) 
at hudson.plugins.active_directory.ActiveDirectoryUnixAuthenticationProvider.retrieveUser(ActiveDirectoryUnixAuthenticationProvider.java:134) 
at hudson.plugins.active_directory.AbstractActiveDirectoryAuthenticationProvider.loadUserByUsername(AbstractActiveDirectoryAuthenticationProvider.java:30) 

我100%确定,证书是正确的。运行Jenkins的服务器位于域中,所以从这一点来看,一切正常。 我想的是,詹金斯隐藏了一些错误信息,所以我不能精确地指定的问题...

+1

什么版本的广告插件,您使用的是?您填写了哪些字段。当您填写所有内容并按下“测试”按钮时,它是否成功? – Sagar 2012-07-23 13:15:29

+0

Jenkins ver。 1.465 AD插件版本。 1.29 字段“域名”和“域控制器”已填满,但我没有看到任何测试按钮。它应该在哪里? – Nick 2012-07-23 13:45:02

+0

哦,我忘了说,我们的AD服务器不支持匿名绑定,所以我不确定是否(以及在哪里)将单独的凭证提供给Jenkins。 – Nick 2012-07-23 13:49:31

回答

5

在“管理詹金斯”>“系统配置”:

  • 启用安全
  • 安全范围=的Active Directory
  • 输入 “域名”
  • 点击 “高级” 右侧(刚下按钮(?))附近
  • 添加域控制器
  • 网站:添加你需要的信息(OU = <>,DC = <>等) - 尽可能多的,因为你需要 - 我们有5个OU(S)和3 DC田
  • 添加您绑定用户下绑定DN场(我们是一样的东西CN =,OU =,DC =,DC =,DC =
  • 绑定密码场添加您的绑定密码

一旦你设置了所有这些(或尽可能多的,你需要): 点击测试按钮(它应该在右侧的绑定密码字段下 - 接近(?)帮助纽扣。

让我知道如果你没有看到这些。

+ ============================================ ==================== +

编辑:

对于绑定的用户名,你可以试试这个:

CN = ,OU = SMTH,OU = SMTH,OU = SMTH,OU = SMTH,DC = SMTH,DC = SMTH,DC = SMTH

其中是LDAP服务名称或绑定服务名称。 (不是说这是错的,只是不知道的我)之前USER_ID

格式 - 我还没有看到

CN = SECOND_NAME \,FIRST_NAME。因此,像

CN =我的LDAP SVC帐户,OU =水木清华,OU =服务,OU =帐户,OU =我,DC =域,DC = com的

+0

谢谢你的回答!现在我看到,詹金斯的界面取决于语言环境。我们使用德语区域设置,直到几分钟前我安装了Locale插件并将其切换为英文。我现在看到了什么?右键:“测试”按钮和您写给我的文本字段。现在我会测试它,并立即给你我的报告。 – Nick 2012-07-24 07:52:49

+0

很奇怪。 “测试”按钮消失。因为我尝试了不同的配置,并重新启动服务器几次,此按钮消失。 – Nick 2012-07-24 09:47:57

+0

好吧,如果我禁用安全性,重新启动TomCat并再次启用安全性,则按钮和其他设置会再次出现。看起来像一个错误,不是吗? – Nick 2012-07-24 10:03:11