场景是 - 我有一个工作A运行我的蚂蚁脚本并为我打包工件.
我还使用参数化触发插件来触发我的"作业B",它将在远程机器上部署我的工件.
工作A工作正常,还有工作B.
我必须对工作B执行的任务是
我浏览了相同的各种插件,但没有人允许我在Post构建操作中出现的"SCP to remote machine"之后运行shell脚本.
我想执行相同的序列,但是如果你们有任何其他建议请分享.
提前致谢.!
是否可以通过Groovy脚本禁用Jenkins CLI over Remoting选项?我想把脚本放到init.groovy.d中,这样在启动时禁用了选项,所以我不会被提示禁用它
谢谢
我正在尝试设置我正在触发的构建的构建描述,因为我正在开始构建,到目前为止我没有运气.
我遇到了一个解决方案(将文本添加到由Jenkins远程API触发的构建页面中),我有点让它以这种方式工作(第一个命令将启动构建,第二个将设置最后一个的描述)建立):
curl -v -X POST "http://[myServer]/job/[jobName]/build"
curl -v -X POST "http://[myServer]/job/[jobName/lastBuild/submitDescription" --data-urlencode "description=test description"
Run Code Online (Sandbox Code Playgroud)
然而,问题是如果我刚刚开始的构建排队/不立即踢,"lastBuild"将不会引用我刚刚开始的构建,而是它之前的构建(仍在构建).
所以我尝试过这样的事情:
payload='json={""description"":""test description""}'
curl -v -X POST -H "Content-Type: application/json" -d $payload "http://[myServer]/job/[jobName]/build"
Run Code Online (Sandbox Code Playgroud)
但它实际上没有设置描述.
任何想法如何实现这一目标?
我找到的其他解决方案,但我并不满意:
如何通过REST API或Jenkins CLI创建Jenkins凭据?凭证应为"秘密文件"类型,而不是用户名/密码组合.
问题类似于这个问题,但不一样或重复.
我从Ubuntu上的apt命令行更新了Jenkins,我在更新后立即进行了sudo apt升级jenkins的更新:
jenkins.model.InvalidBuildsDir: ${ITEM_ROOTDIR}/builds does not exist and
probably cannot be created
at jenkins.model.Jenkins.checkRawBuildsDir(Jenkins.java:3085)
at jenkins.model.Jenkins.loadConfig(Jenkins.java:3009)
Caused: java.io.IOException
at jenkins.model.Jenkins.loadConfig(Jenkins.java:3012)
at jenkins.model.Jenkins.access$1200(Jenkins.java:304)
at jenkins.model.Jenkins$14.run(Jenkins.java:3104)
at org.jvnet.hudson.reactor.TaskGraphBuilder$TaskImpl.run
(TaskGraphBuilder.java:169)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:296)
at jenkins.model.Jenkins$5.runTask(Jenkins.java:1068)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:214)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker
(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run
(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused: org.jvnet.hudson.reactor.ReactorException
at org.jvnet.hudson.reactor.Reactor.execute(Reactor.java:282)
at jenkins.InitReactorRunner.run(InitReactorRunner.java:48)
at jenkins.model.Jenkins.executeReactor(Jenkins.java:1102)
at jenkins.model.Jenkins.<init>(Jenkins.java:904)
at hudson.model.Hudson.<init>(Hudson.java:85)
at hudson.model.Hudson.<init>(Hudson.java:81)
at hudson.WebAppMain$3.run(WebAppMain.java:233)
Caused: hudson.util.HudsonFailedToLoad
at hudson.WebAppMain$3.run(WebAppMain.java:250)
Run Code Online (Sandbox Code Playgroud) 我有一个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) 执行时
java -jar jenkins-cli.jar -s https://jenkins_url help
Run Code Online (Sandbox Code Playgroud)
由于某种原因,我的连接被拒绝。Jenkins 版本为 1580.3,用户在 Jenkins 服务器上有权限,cli jar 是最新的,ssh 公钥配置正确。知道是什么原因造成的吗?如果有帮助,这是堆栈跟踪:
Exception in thread "main" java.net.ConnectException: Connection refused
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at hudson.cli.CLI.connectViaCliPort(CLI.java:203)
at hudson.cli.CLI.<init>(CLI.java:126)
at hudson.cli.CLIConnectionFactory.connect(CLIConnectionFactory.java:72)
at hudson.cli.CLI._main(CLI.java:466)
at hudson.cli.CLI.main(CLI.java:382)
Suppressed: java.io.EOFException: unexpected stream termination
at hudson.remoting.ChannelBuilder.negotiate(ChannelBuilder.java:331)
at hudson.remoting.Channel.<init>(Channel.java:421)
at hudson.remoting.Channel.<init>(Channel.java:400)
at hudson.remoting.Channel.<init>(Channel.java:396)
at hudson.remoting.Channel.<init>(Channel.java:385)
at hudson.remoting.Channel.<init>(Channel.java:377)
at hudson.remoting.Channel.<init>(Channel.java:353)
at hudson.cli.CLI.connectViaHttp(CLI.java:157)
at hudson.cli.CLI.<init>(CLI.java:130)
... 3 more
Run Code Online (Sandbox Code Playgroud) 我正在使用jenkins服务器上的jenkins-cli.jar文件,并且在每次运行时它都会提示我输入我的ssh密钥密码.我希望它使用我的ssh钥匙串,所以我不必在每次调用时都输入它.
如果重要,我使用默认的钥匙串设置在OSX上,我现在没有配置手动ssh-agent.
无法手动重启Jenkins.已经尝试过所有以下方式:
http://localhost:8080/safeRestart
错误消息:Jenkins无法按当前配置重新启动.
管理Jenkins→重新启动安全插件.
错误消息:Jenkins无法按当前配置重新启动.
无法找到任何Jenkins服务services.msc.
以jenkins-cliCMD模式导航到目录
java -jar jenkins-cli.jar -s http://[jenkins-server]/ restart
Run Code Online (Sandbox Code Playgroud)
请参阅下面的屏幕截图以获取错
我看不到如何执行此操作的示例:https : //jenkins.io/doc/book/managing/plugins/
我备份了所有已安装插件及其版本的列表。
我想使用 install-plugin 命令安装列表中的所有插件(及其特定版本)。
我没有看到指定安装插件命令版本的选项