标签: jenkins-cli

java.io.IOException:没有X-Jenkins-CLI2-Port(jenkins cli不能正常工作)

我正在尝试运行以下命令:

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)

java exception http-status-code-403 jenkins jenkins-cli

6
推荐指数
2
解决办法
3336
查看次数

用ansible创建jenkins工作

我正在开发一个使用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输入时有效)

git jenkins vagrant ansible jenkins-cli

5
推荐指数
2
解决办法
7208
查看次数

Jenkins - 将构建日志从主服务器复制到共享驱动器

有人可以指引我到这里吗?我在 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 jenkins-plugins jenkins-scriptler jenkins-cli

5
推荐指数
1
解决办法
1694
查看次数

jenkins cli命令给出错误java.io.StreamCorruptedException:无效的流标题:0A0A0A0A

我正在尝试执行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)

jenkins jenkins-cli

5
推荐指数
2
解决办法
4517
查看次数

多分支管道詹金斯作业与[ci跳过]

我必须跳过一些基于 git 提交消息的 jenkins 构建。所以我搜索并找到了这个jenkins 插件。但是我无法在多分支管道作业中配置启用 ci-skip 。此选项在多分支管道设置中不可用。

有没有办法在多分支 jenkins 管道中配置此 [ci Skip]?

它在 jenkinsfile 中可用吗?或者是否可以根据 jenkinsfile 中的提交消息阻止 jenkins 构建?

jenkins jenkins-plugins jenkins-cli jenkins-pipeline

5
推荐指数
1
解决办法
7068
查看次数

如何获取管道中特定阶段的状态

我们如何获取 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 可以帮助我实现这一目标。

谢谢!

jenkins jenkins-cli jenkins-pipeline

5
推荐指数
1
解决办法
1万
查看次数

无法通过厨师食谱使用 ssh 协议使用 jenkins cli(手动工作)

我使用 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)

cookbook chef-infra jenkins jenkins-plugins jenkins-cli

5
推荐指数
0
解决办法
669
查看次数

如何通过任何脚本获取 Jenkins 中的管理员用户列表?

我正在尝试获取管理员用户列表的列表以及 Jenkins 中的用户及其权限级别。

任何人都可以帮我提供任何可用的脚本吗?

automation jenkins jenkins-cli jenkins-api

5
推荐指数
1
解决办法
5486
查看次数

Jenkins 配置即代码:以编程方式从文件重新加载配置

如何从 groovy 脚本中将 Jenkins 配置重新加载为代码文件?(相当于点击“重新加载现有配置”)

jenkins jenkins-cli jcasc

5
推荐指数
1
解决办法
1026
查看次数

Jenkins 中的 $PWD 和 $WORKSPACE 是不同的

我的工作有一个构建步骤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 ?

environment-variables jenkins jenkins-cli

5
推荐指数
0
解决办法
2万
查看次数