我正在尝试运行以下命令:
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) 我正在开发一个使用ansible在centos7上部署jenkins CI服务器的项目.我在使用ansible从xml模板创建jenkins作业时遇到问题.
到目前为止一切正常,但现在我希望能够创建作业,并使用ansible从xml文件中为它们提供一些基本配置.我的解决方案是来自jenkins-cli的以下命令:
sudo java -jar jenkins-cli.jar -s http://localhost:8080 create-job Job_test1 < Job_test1.xml
Run Code Online (Sandbox Code Playgroud)
当在centos7框中手动输入时,这非常有效,但是当我把它放入ansible并运行它时:
- name: create jenkins jobs with xml files
sudo: yes
command: "java -jar {{ jenkins.cli_dest }} -s http://localhost:8080 create-job {{ item.name }} < {{ jenkins_dest }}/{{ item.xml_name }}"
with_items: jenkins_jobs
Run Code Online (Sandbox Code Playgroud)
它给出以下错误消息:
stderr: Too many arguments: <
java -jar jenkins-cli.jar create-job NAME
Creates a new job by reading stdin as a configuration XML file.
Run Code Online (Sandbox Code Playgroud)
有谁知道解决这个问题?据我所知,我正在做得很好(因为命令在没有被ansible输入时有效)
有人可以指引我到这里吗?我在 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 cli命令
java -jar /home/jenkins/jenkins-cli.jar -s http://jenkins.server.com/ version --username jenkins --password jenkins
Run Code Online (Sandbox Code Playgroud)
获得以下错误
Aug 05,2015 6:01:02 AM hudson.remoting.SynchronousCommandTransport $ ReaderThread运行SEVERE:通道中的I/O错误Chunked连接到 http://jenkins.server.com/cli java.io.StreamCorruptedException:无效的流标头: 0A0A0A0A在java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:804)在java.io.ObjectInputStream中.(ObjectInputStream.java:299)在hudson.remoting.ObjectInputStreamEx.(ObjectInputStreamEx.java:40)在hudson.remoting.AbstractSynchronousByteArrayCommandTransport .read(AbstractSynchronousByteArrayCommandTransport.java:34)在hudson.remoting.SynchronousCommandTransport $ ReaderThread.run(SynchronousCommandTransport.java:48)
hudson.remoting.RequestAbortedException:java.io.StreamCorruptedException:无效的流标题:0A0A0A0A位于hudson的hudson.remoting.Channel.terminate(Channel.java:815)的hudson.remoting.Request.abort(Request.java:296). remoting.SynchronousCommandTransport $ ReaderThread.run(SynchronousCommandTransport.java:69)......远程调用Chunked连接到 http://jenkins.server.com/cli(Native) 方法)hudson.remoting.Channel.attachCallSiteStackTrace(Channel.java:1361)位于hudson的hudson.remoting.Channel.call(Channel.java:752)的hudson.remoting.Request.call(Request.java:171). remoting.RemoteInvocationHandler.invoke(RemoteInvocationHandler.java:179)位于hudson.cli.CLI的hudson.remoting.$ Proxy1.waitForProperty(未知来源)hudson.remoting.Channel.waitForRemoteProperty(Channel.java:1205).(CLI. java:147)at hudson.cli.CLIConnectionFactory.connect(CLIConnectionFactory.java:72)at hudson.cli.CLI._main(CLI.java:479)at hudson.cli.CLI.main(CLI.java:390)
引起:
java.io.StreamCorruptedException:无效的流标题:位于java.io.ObjectInputStream的java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:804)中的0A0A0A0A.(ObjectInputStream.java:299)位于hudson.remoting.ObjectInputStreamEx.(ObjectInputStreamEx. java:40)at hudson.remoting.AbstractSynchronousByteArrayCommandTransport.read(AbstractSynchronousByteArrayCommandTransport.java:34)at hudson.remoting.SynchronousCommandTransport $ ReaderThread.run(SynchronousCommandTransport.java:48)
我必须跳过一些基于 git 提交消息的 jenkins 构建。所以我搜索并找到了这个jenkins 插件。但是我无法在多分支管道作业中配置启用 ci-skip 。此选项在多分支管道设置中不可用。
有没有办法在多分支 jenkins 管道中配置此 [ci Skip]?
它在 jenkinsfile 中可用吗?或者是否可以根据 jenkinsfile 中的提交消息阻止 jenkins 构建?
我们如何获取 Jenkins 管道中前一阶段的状态。例如:我的示例管道如下:
pipeline {
agent
{
node {
label 'master'
customWorkspace "${env.JobPath}"
}
}
stages
{
stage('Start') {
steps {
sh 'ls'
}
}
stage ('set_env') {
steps {
// script to set environment.
}
}
stage ('Build') {
steps {
// script to build.
}
}
stage ('Send_mail') {
steps {
// script to send mail.
}
}
stage('End') {
steps {
sh 'ls'
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何获取管道中特定阶段的状态。例如:我想根据“构建”阶段是成功还是失败来做出某些决定。
是否有任何跟踪每个阶段状态的环境变量,或者有一个 Jenkins REST API 可以帮助我实现这一目标。
谢谢!
我使用 ssh 作为协议通过 cli 连接到 jenkins。相同的命令在手动运行时有效,但通过我的食谱失败。
server # java -jar /opt/tomcat/webapps/ROOT/WEB-INF/jenkins-cli.jar -s http://localhost:8181/ -ssh -user update -i /home/update/.ssh/id_rsa who-am-i
Feb 16, 2018 11:18:02 AM hudson.cli.SSHCLI$1 verifyServerKey
WARNING: Unknown host key for server:32855
Authenticated as: update
Authorities:
authenticated
Run Code Online (Sandbox Code Playgroud)
厨师食谱配方失败:我在我的食谱中将它作为 bash 命令资源运行。
[2018-02-16T11:27:39+01:00] FATAL: Mixlib::ShellOut::ShellCommandFailed: bash[install jenkins plugins] (sap-bs-jenkins::bs_jenkins line 104) had an error: Mixlib::ShellOut::ShellCommandFailed: Expected process to exit with [0], but received '255'
---- Begin output of "bash" "/tmp/chef-script20180216-23269-9xs4ow" ----
STDOUT:
STDERR: Feb 16, 2018 11:27:39 AM hudson.cli.SSHCLI sshConnection
WARNING: No …Run Code Online (Sandbox Code Playgroud) 我正在尝试获取管理员用户列表的列表以及 Jenkins 中的用户及其权限级别。
任何人都可以帮我提供任何可用的脚本吗?
如何从 groovy 脚本中将 Jenkins 配置重新加载为代码文件?(相当于点击“重新加载现有配置”)
我的工作有一个构建步骤Build - Execute shell,我只将这两个命令放入:
echo $WORKSPACE
echo $PWD
Run Code Online (Sandbox Code Playgroud)
输出真的让我很困惑:
+ echo /home/jenkins/workspace/tradefed/test_deployment
/home/jenkins/workspace/tradefed/test_deployment
+ echo /media/d/workspace/tradefed/test_deployment
/media/d/workspace/tradefed/test_deployment
Run Code Online (Sandbox Code Playgroud)
$WORKSPACE为什么和的值$PWD不同?
2019/03/18 更新:
正如@PavelAnikhouski提到的,$WORKSPACE相对于您的操作系统环境变量而言$JENKINS_HOME,$PWD是指文件系统中的当前工作目录,因此它们不应该相同。
但我仍然很困惑$WORKSPACE,为什么 Jenkins 有$WORKSPACE,但在另一个工作目录中执行 shell ?
jenkins ×10
jenkins-cli ×10
ansible ×1
automation ×1
chef-infra ×1
cookbook ×1
exception ×1
git ×1
java ×1
jcasc ×1
jenkins-api ×1
vagrant ×1