我使用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
错误:没有这样的节点'测试'
答案 0 :(得分:1)
当您从cli创建节点或作业时,大多数情况下您必须返回到Jenkins UI并运行“管理Jenkins&gt;&gt;从磁盘重新加载配置”,否则cli更改有时仍然无效。你有没有试过这样做?
答案 1 :(得分:0)
@funkfan正如我在帖子中提到的,我可以在通过Jenkins UI保存配置后获取节点。我甚至尝试过jenkins-cli reload-configuration命令,然后在没有任何运气的情况下从Jenkins UI保存配置。