我想知道如何创建可以由Jenkins和Jenkins中运行的作业连接到第三方服务的凭据.
我在Jenkins创建的一个名为"Gradle Deploys"的视图中有大约100-120个作业.如何仅从给定的视图/选项卡禁用Jenkins的所有作业.
我尝试了以下groovy语法,首先只显示给定视图中的所有作业,但它出错了.
jenkins = Hudson.instance
//The following works actually but gives a lot of info.
//println "----" + jenkins.instance.getView("Gradle Deploys").items
println "----" + jenkins.instance.getView("Gradle Deploys").items.each.getItems().print(it)
Run Code Online (Sandbox Code Playgroud)
一旦我在给定视图中获得了只是作业名称的列表,我只需要在上面的命令中使用".disable()"函数,它就可以工作了.
如果我使用下面的代码,它会做我想要的,但我正在寻找一个衬垫.
for (item in jenkins.instance.getView("Gradle Deploys").items) {
println("\nJob: $item.name")
item.disabled=true
}
Run Code Online (Sandbox Code Playgroud) 有没有一种方法可以在执行期间确定当前构建的触发器。我要确定的是触发器是SCM更改,cron触发器还是用户触发器。我为一个作业定义了多个触发器,并且想在外壳执行脚本中使用触发器类型作为参数。
如何自动增加jenkins内部版本号或使用shell脚本?现在我使用configure选项做同样的事情,并手动增加.我想自动做.
我需要在Jenkins构建群集上生成每周报告.其中一个报告是显示构建时间最长的作业列表.
我可以想出解决的办法是分析在每个从"构建历史"页面(掌握)和工作的每一个构建,解析生成页面并查找"奴隶-XX拍了X分X秒".
这感觉非常麻烦,有没有人知道使用Jenkins API或Groovy脚本控制台的更好的解决方案?
谢谢
面对启动Jenkins实例的问题..这里是日志,我使用1.542(也尝试过以前的版本,但没有成功)
有人正面临这样的问题吗?
它看起来非常类似于https://issues.jenkins-ci.org/browse/JENKINS-20609但不确定是否就是这种情况
Running from: /home/jenkins/jenkins-latest.war
webroot: $user.home/.jenkins
Dec 04, 2013 11:11:38 PM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: jetty-8.y.z-SNAPSHOT
Dec 04, 2013 11:11:38 PM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: Extract jar:file:/home/jenkins/jenkins-latest.war!/ to /tmp/jetty-0.0.0.0-8080-jenkins-latest.war--any-/webapp
Dec 04, 2013 11:11:41 PM org.eclipse.jetty.util.log.JavaUtilLog info
INFO: NO JSP Support for , did not find org.apache.jasper.servlet.JspServlet
Jenkins home directory: /root/.jenkins found at: $user.home/.jenkins
Dec 04, 2013 11:11:41 PM hudson.util.BootFailure publish
SEVERE: Failed to initialize Jenkins
hudson.util.AWTProblem: java.lang.NullPointerException
at hudson.WebAppMain.contextInitialized(WebAppMain.java:182)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:782)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:424)
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:774)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:249)
at …Run Code Online (Sandbox Code Playgroud) 有人可以指引我到这里吗?我在 WINDOWS 环境中的 Jenkins 中配置了一个简单的作业(主服务器和所有从服务器都在 Windows 上运行),并且该作业应该在特定的从服务器上运行。构建作业时,构建日志 ( log.log) 存储在主服务器上的 \xe2\x80\x9d %JENKINS_HOME%\\jobs\\\\builds\\%BUILD_NUMBER%\\\xe2\x80\x9d 中。
\n\n我确实在该作业的从属节点上设置了一个 Jenkins 工作区(添加从属节点时需要)\xe2\x80\x93,其中作业运行时不会存储任何内容。
\n\n在这种情况下,我想将构建日志(主服务器上可用的 log.log 文件\xe2\x80\x99s)复制到共享驱动器。请告诉我如何完成这件事。我尝试了几个插件 \xe2\x80\x9cCopy to Slave\xe2\x80\x9d、\xe2\x80\x9cCopy Artifact Plugin\xe2\x80\x9d 和 ArtifactDeployer Plugin\xe2\x80\xa6 我无法让它们满足我需要的。
\n我想将未与 jenkins 打包的 3rd 方库导入到 Scriptler 脚本中。我需要做什么才能使 jenkins 可以使用 jar 中的包?我是否需要将 jar 添加到 CLASSPATH - 或其他方式 - 所以当我需要它们时它们是可导入的?但是怎么样?!
我通过 python 脚本从“服务器 A”中的作业(父作业)触发“服务器 B”中的作业(子作业)。我有 2-3 份家长工作。所以我想知道哪个父作业触发了子作业。我如何知道哪个父作业触发了子作业?
我可以将父作业名称传递给子作业名称吗?或者我可以直接从子作业中获取父母姓名吗?(环境变量/使用python脚本)
由于安全原因,Jenkins Scriptler 插件似乎不再可用:https : //wiki.jenkins-ci.org/display/JENKINS/Scriptler+Plugin
“此插件的分发已暂停”
有没有类似的插件可以用来运行保存的 Groovy 脚本?