我正在通过Groovy配置Active
Directory。我能够通过UI通过活动目录进行身份验证,这意味着端口和身份验证不是问题。我有以下基于LDAP插件的内容:
import jenkins.model.*
import hudson.security.*
import hudson.plugins.*
import hudson.plugins.active_directory.*
import hudson.*
import jenkins.*
String domain = 'my.domain.com'
String site = ''
String server = '192.168.1.1'
String bindName = 'account@my.domain.com'
String bindPassword = 'password'
SecurityRealm ad_realm = new ActiveDirectorySecurityRealm(domain, site, bindName, bindPassword, server)
jenkins.instance.setSecurityRealm(ad_realm)
这是错误:
ERROR: jenkins_script[add_active_directory] (jenkins_wrapper::ldap line 32) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '255'
---- Begin output of "/opt/java/latest/bin/java" -jar "/tmp/kitchen/cache/jenkins-cli.jar" -s http://localhost:8080 groovy /tmp/groovy20160208-28479-azdr83 ----
STDOUT:
STDERR: groovy.lang.MissingPropertyException: No such property: jenkins for class: RemoteClass
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:50)
at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:231)
at RemoteClass.run(RemoteClass:16)
at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:266)
at groovy.lang.GroovyShell.run(GroovyShell.java:517)
at hudson.cli.GroovyCommand.run(GroovyCommand.java:86)
at hudson.cli.CLICommand.main(CLICommand.java:237)
at hudson.cli.CliManagerImpl.main(CliManagerImpl.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:608)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:583)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:542)
at hudson.remoting.UserRequest.perform(UserRequest.java:120)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
at hudson.cli.CliManagerImpl$1.call(CliManagerImpl.java:63)
at hudson.remoting.CallableDecoratorAdapter.call(CallableDecoratorAdapter.java:18)
atorList.java:21)
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
对这个错误有任何见解吗?
更新
新密码
import jenkins.model.*
import hudson.model.*
import hudson.security.*
import hudson.plugins.*
import hudson.plugins.active_directory.*
import hudson.*
import jenkins.*
def instance = Jenkins.getInstance()
String domain = 'my.domain.com'
String site = ''
String server = '1.2.3.4'
String bindName = 'bind@my.domain.com'
String bindPassword = '#{bind_password}'
adrealm = ActiveDirectorySecurityRealm(domain, site, bindName, bindPassword, server)
instance.setSecurityRealm(adrealm)
新错误
STDERR: groovy.lang.MissingMethodException: No signature of method: RemoteClass.ActiveDirectorySecurityRealm() is applicable for argument types: (java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String) values: [my.domain.com, , account@my.domain.com, ...]
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:55)
at org.codehaus.groovy.runtime.callsite.PogoMetaClassSite.callCurrent(PogoMetaClassSite.java:78)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallCurrent(CallSiteArray.java:46)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:133)
at RemoteClass.run(RemoteClass:15)
at groovy.lang.GroovyShell.runScriptOrMainOrTestOrRunnable(GroovyShell.java:266)
at groovy.lang.GroovyShell.run(GroovyShell.java:517)
at hudson.cli.GroovyCommand.run(GroovyCommand.java:86)
at hudson.cli.CLICommand.main(CLICommand.java:237)
at hudson.cli.CliManagerImpl.main(CliManagerImpl.java:92)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.perform(RemoteInvocationHandler.java:608)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:583)
at hudson.remoting.RemoteInvocationHandler$RPCRequest.call(RemoteInvocationHandler.java:542)
at hudson.remoting.UserRequest.perform(UserRequest.java:120)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:326)
at hudson.remoting.InterceptingExecutorService$1.call(InterceptingExecutorService.java:68)
at hudson.cli.CliManagerImpl$1.call(CliManagerImpl.java:63)
at hudson.remoting.CallableDecoratorAdapter.call(CallableDecoratorAdapter.java:18)
at hudson.remoting.CallableDecoratorList$1.call(CallableDecoratorList.java:21)
at jenkins.util.ContextResettingExecutorService$2.call(ContextResettingExecutorService.java:46)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
因此,有了建议中的所有新增功能,
尝试:
adrealm =新的ActiveDirectorySecurityRealm(域,站点,bindName,bindPassword,服务器)
问题内容: 我正在尝试使用脚本为Jenkins配置amazon-ecs-plugin ,但找不到它并对其进行文档化。我是基于groovy的配置自动化的新手 尝试使用获取所有属性 输出: 但是,不确定如何继续处理子类 不确定如何定义该属性 手动配置后的文件看起来像 提前致谢。 问题答案: 所以我在这方面取得了一些进展。它不是幂等的,但是可以。该代码是针对我的用例量身定制的,但对于您而言,自己进行调整
问题内容: 我正在尝试通过Groovy配置Jenkins EC2-Plugin。插件代码:https : //github.com/jenkinsci/ec2-plugin 我正在尝试使用一个名称来设置云以开始 有任何想法吗? 这些是错误消息 要么 问题答案: 您对的调用与任何构造函数都不匹配:https : //github.com/jenkinsci/ec2-plugin/blob/maste
我想在詹金斯中强制执行以下场景: 我有工作A和工作B 我想在执行作业B时禁用作业A,在执行作业B后,我想再次启用作业A。 为了启用/禁用作业A,我使用了Groovy插件:Groovy插件 Groovy插件提供了两种可能性:执行Groovy脚本和执行系统Groovy脚本。 在开始执行作业B时,我添加了以下代码片段: 执行工作B后: 当我运行作业B时,它失败了,出现以下异常: 当我运行作业B时,它失败
问题内容: 随着我越来越多地将Groovy与Jenkins Workflow插件配合使用,我开始意识到可以在多个脚本中使用的可重用代码。 共享此代码的最佳方法是什么?是否可以使用共享代码生成我自己的.jar并在Workflow脚本中利用它?还是有更简单的方法? 问题答案: 我实际上通过使用我们自己的git repo最终完成了这项工作,但在工作流库/ src中放置了一个符号链接以指向该repo。
问题内容: 在新的jenkins项目中配置git repo时出现此错误: 我在Windows机器上有一个本地git repo,并且从命令提示符处克隆相同的路径可在同一台机器上工作。我不知道可能是什么问题(git.exe在系统路径上) 问题答案: Windows 将Jenkins安装为服务。但是它在没有访问GIT权限的不同用户权限下运行Jenkins服务。您可以单击此链接找到Jenkins所运行的用
问题内容: 我的主要目标是使用groovy来配置Jenkins和所有插件,这样我就不需要通过Web界面手动配置Jenkins,就像这里的帖子正在尝试的那样。 具体来说,我正在尝试通过groovy在Jenkins中配置Create Job Advanced插件。 当我在Jenkins脚本控制台中尝试此代码时: 我不断收到此错误,不知道为什么。 如何通过groovy配置Create Job Advan