jenkins-cli get节点不起作用

时间:2018-02-20 08:51:44

标签: jenkins continuous-integration jenkins-cli

我使用jenkins-cli create node命令创建了一个jenkins节点。节点成功创建,我可以在Web界面中看到它。

NODE_NAME=$1
LABEL=$2
cat <<EOF | java -jar jenkins-cli.jar -s http://myjenkins/jenkins/ create-node --username userId --password testPwd $1
<?xml version='1.0' encoding='UTF-8'?>
<slave>
  <name>${NODE_NAME}</name>
  <description></description>
  <remoteFS>/Users/jenkins1/Desktop/workspace</remoteFS>
  <numExecutors>1</numExecutors>
  <mode>EXCLUSIVE</mode>
  <retentionStrategy class="hudson.slaves.RetentionStrategy$Always"/>
  <launcher class="hudson.plugins.sshslaves.SSHLauncher" plugin="ssh-slaves@1.22">
    <host>test</host>
    <port>22</port>
    <credentialsId>test</credentialsId>
    <maxNumRetries>0</maxNumRetries>
    <retryWaitTime>0</retryWaitTime>
    <sshHostKeyVerificationStrategy class="hudson.plugins.sshslaves.verifiers.KnownHostsFileKeyVerificationStrategy"/>
  </launcher>
  <label>${LABEL}</label>
  <nodeProperties>
    <hudson.slaves.EnvironmentVariablesNodeProperty>
      <envVars serialization="custom">
        <unserializable-parents/>
        <tree-map>
          <default>
            <comparator class="hudson.util.CaseInsensitiveComparator"/>
          </default>
          <int>1</int>
          <string>MVN_REPOS</string>
          <string>/Users/jenkins1/Desktop/workspace</string>
        </tree-map>
      </envVars>
    </hudson.slaves.EnvironmentVariablesNodeProperty>
  </nodeProperties>
</slave>
EOF

但是当我尝试使用jenkins-cli创建节点后得到节点时,我没有得到这样的节点错误。但是,我可以通过Jenkins UI保存配置后获取节点。你能帮我修一下这个错误。

java -jar jenkins-cli.jar -s http://myjenkins/jenkins/ get-node'tests'--username userId --password testPwd

错误:没有这样的节点'测试'

2 个答案:

答案 0 :(得分:1)

当您从cli创建节点或作业时,大多数情况下您必须返回到Jenkins UI并运行“管理Jenkins&gt;&gt;从磁盘重新加载配置”,否则cli更改有时仍然无效。你有没有试过这样做?

答案 1 :(得分:0)

@funkfan正如我在帖子中提到的,我可以在通过Jenkins UI保存配置后获取节点。我甚至尝试过jenkins-cli reload-configuration命令,然后在没有任何运气的情况下从Jenkins UI保存配置。