我有一个jenkins实例,它附带了一个windows slave机器.我还有一个运行的作业,它驻留在github中,我有触发器 - "当一个更改被推送到GitHub时设置".
当我将更改推送到github时,jenkins上没有触发任何构建.我检查并看到有效负载确实在"Github挂钩日志"中转移到jenkins但我收到以下错误:
Started on Sep 18, 2014 3:57:06 PM
Using strategy: Default
[poll] Last Built Revision: Revision ce6a183e834a3e31afa0eb83a4418b0619c8642b (origin/master)
> "C:\Program Files (x86)\Git\cmd\git.exe" ls-remote -h https://xx/xx/xx master # timeout=10
FATAL: hudson.plugins.git.GitException: Error performing command: "C:\Program Files (x86)\Git\cmd\git.exe" ls-remote -h https://xx/xx/xx master
hudson.util.IOException2: hudson.plugins.git.GitException: Error performing command: "C:\Program Files (x86)\Git\cmd\git.exe" ls-remote -h https://xx/xx/xx master
at hudson.plugins.git.GitSCM.compareRemoteRevisionWith(GitSCM.java:462)
at hudson.scm.SCM._compareRemoteRevisionWith(SCM.java:357)
at hudson.scm.SCM.poll(SCM.java:374)
at hudson.model.AbstractProject._poll(AbstractProject.java:1428)
at hudson.model.AbstractProject.poll(AbstractProject.java:1331)
at com.cloudbees.jenkins.GitHubPushTrigger$1.runPolling(GitHubPushTrigger.java:73)
at com.cloudbees.jenkins.GitHubPushTrigger$1.run(GitHubPushTrigger.java:98)
at hudson.util.SequentialExecutionQueue$QueueEntry.run(SequentialExecutionQueue.java:118)
at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) …Run Code Online (Sandbox Code Playgroud) 我在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) 如何自动增加jenkins内部版本号或使用shell脚本?现在我使用configure选项做同样的事情,并手动增加.我想自动做.
我需要在Jenkins构建群集上生成每周报告.其中一个报告是显示构建时间最长的作业列表.
我可以想出解决的办法是分析在每个从"构建历史"页面(掌握)和工作的每一个构建,解析生成页面并查找"奴隶-XX拍了X分X秒".
这感觉非常麻烦,有没有人知道使用Jenkins API或Groovy脚本控制台的更好的解决方案?
谢谢
例:
32 - fail
31 - stable no change (triggered by parent)
30 - stable with changes
29 - fail
...
Run Code Online (Sandbox Code Playgroud)
我想要一个查询返回 30
到目前为止我得到了什么:
要查询最后一个稳定版本号:
http://jenkins/job/project_name/lastStableBuild/buildNumber
这回来了31.不完全是我需要的.
要检查此构建是否有更改,我知道的唯一方法是:
http://jenkins/job/project_name/31/api/json
然后我需要进入巨大的JSON并检查changeSet> items中是否有任何项目.
有没有更简单的方法来查询最新的稳定版本(30)?
我正在尝试运行以下命令:
java -jar jenkins-cli.jar -s http://jenkins_URL/ --username myusername --password mypassword help
但是我收到了错误:
java.io.IOException:没有X-Jenkins-CLI2-Port [null,X-Required-Permission,X-Jenkins,X-You-In-Group,X-Hudson,Content-Length,Expires,X-您在Hudson.cli.CLI.getCliTcpPort上经过身份验证的,X-Permission-Implied-By,Set-Cookie,Server,X-Content-Type-Options,Date,X-Jenkins-Session,Content-Type] (CLI.java:284)hudson.cli.CLI.(CLI.java:128)hudson.cli.CLIConnectionFactory.connect(CLIConnectionFactory.java:72)hudson.cli.CLI._main(CLI.java:473) )在hudson.cli.CLI.main(CLI.java:384)禁止:java.io.IOException异常:服务器返回的HTTP响应代码:403网址:http://52.9.217.252:8888/cli 在sun.net. www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1628)位于hudson.cli的hudson.cli.CLI.connectViaHttp(CLI.java:152)的hudson.cli.FullDuplexHttpStream.(FullDuplexHttpStream.java:78). CLI.(CLI.java:132)...还有3个
我的config.xml文件
<?xml version='1.0' encoding='UTF-8'?>
<hudson>
<disabledAdministrativeMonitors/>
<version>1.0</version>
<numExecutors>2</numExecutors>
<mode>NORMAL</mode>
<useSecurity>true</useSecurity>
<authorizationStrategy class="hudson.security.FullControlOnceLoggedInAuthorizationStrategy">
<denyAnonymousReadAccess>false</denyAnonymousReadAccess>
</authorizationStrategy>
<securityRealm class="hudson.security.HudsonPrivateSecurityRealm">
<disableSignup>true</disableSignup>
<enableCaptcha>false</enableCaptcha>
</securityRealm>
<disableRememberMe>false</disableRememberMe>
<projectNamingStrategy class="jenkins.model.ProjectNamingStrategy$DefaultProjectNamingStrategy"/>
<workspaceDir>${ITEM_ROOTDIR}/workspace</workspaceDir>
<buildsDir>${ITEM_ROOTDIR}/builds</buildsDir>
<jdks/>
<viewsTabBar class="hudson.views.DefaultViewsTabBar"/>
<myViewsTabBar class="hudson.views.DefaultMyViewsTabBar"/>
<clouds/>
<scmCheckoutRetryCount>0</scmCheckoutRetryCount>
<views>
<hudson.model.AllView>
<owner class="hudson" reference="../../.."/>
<name>All</name>
<filterExecutors>false</filterExecutors>
<filterQueue>false</filterQueue>
<properties class="hudson.model.View$PropertyList"/>
</hudson.model.AllView>
</views>
<primaryView>All</primaryView>
<slaveAgentPort>-1</slaveAgentPort>
<label></label>
<crumbIssuer class="hudson.security.csrf.DefaultCrumbIssuer">
<excludeClientIPFromCrumb>false</excludeClientIPFromCrumb>
</crumbIssuer>
<nodeProperties/>
<globalNodeProperties/>
</hudson>
Run Code Online (Sandbox Code Playgroud) 我刚刚将安全性添加到詹金斯。
\n\nJenkins\xe2\x80\x99 已启用自己的用户数据库\n已配置基于矩阵的安全性\n现在我正在配置和安装角色矩阵插件。
\n\n如果有人想更改密码,他只需登录,单击此用户配置并更改他的密码,如果他们忘记了密码或者我想更改他们的用户名怎么办?
\n\n管理员重置密码或至少删除并重新创建用户时应遵循的标准程序是什么?
如果管理员想要更改用户名怎么办?有没有标准的方法可以做到这一点?
谢谢
\n我一直在尝试使用Command-line Pipeline Linter。
我可以在服务器本地使用这个声明式 linter 吗?
我尝试运行:
declarative-linter < Jenkinsfile
Run Code Online (Sandbox Code Playgroud)
并得到:
-bash: declarative-linter: command not found
Run Code Online (Sandbox Code Playgroud)
我需要安装此命令还是应该在安装管道插件后自动安装?
请指教。
一旦我尝试升级我的 Jenkins 作业以使用分支的参数而不是硬编码值,它就不再起作用。
除了 BUILD_BRANCH 之外,还尝试了许多其他名称
在这里我试过 ${env.BUILD_BRANCH}, refs/heads${BUILD_BRANCH} 并且绝对没有他们工作
当我最初这样做时,我确实检查了轻量级结帐,在阅读了许多有相同问题的人的在线答案后,我将其删除。依然没有!。我刚刚添加了“擦除”命令,看看这是否有帮助,但没有
错误:
> git rev-list --no-walk 97428a402f3304a21ccc8df435a40468ebf406c1 # timeout=10
Running in Durability level: MAX_SURVIVABILITY
[Pipeline] Start of Pipeline
[Pipeline] readTrusted
[Pipeline] End of Pipeline
hudson.plugins.git.GitException: Command "git fetch --tags --progress --prune -- origin +refs/heads/${BUILD_BRANCH}:refs/remotes/origin/${BUILD_BRANCH}" returned status code 128:
stdout:
stderr: fatal: Couldn't find remote ref refs/heads/${BUILD_BRANCH}
fatal: The remote end hung up unexpectedly
at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2429)
Run Code Online (Sandbox Code Playgroud)
感谢您的阅读,即使您无法提供帮助
我将我的 Mac 更新为 Catalina,并且开始出现此错误。在一切正常之前。
我正在尝试从 jenkins 工作区 cd 进入该目录并运行我的 npm 测试,但出现以下错误:
shell-init: error retrieving current directory: getcwd: cannot access parent directories: Operation not permitted
+ git reset --hard HEAD
job-working-directory: error retrieving current directory: getcwd: cannot access parent directories: Operation not permitted
fatal: Unable to read current working directory: Operation not permitted
Run Code Online (Sandbox Code Playgroud)