我正在将静态从属服务器连接到Jenkins主服务器。我要使用的命令是:
java -jar <PATH>/slave.jar -jnlpUrl $JENKINS_MASTER_URL -secret $JNLP_SECRET
我的问题是$JNLP_SECRET
的秘密来自哪里?
如果在Jenkins Master中配置了某些东西,那么它在哪里配置?
如果我可以访问它,是否可以将其粘贴到此命令中?
我们将为您提供简短的解释或指向文档的链接。
答案 0 :(得分:0)
JNLP_SECRET
是您下载的slave-agent.jnlp的一部分,以启动您的Jenkins奴隶。
您可以按照here中的描述从此文件中提取机密:
您可以从$ NODE_URL / slave-agent.jnlp下载“ slave-agent.jnlp”文件。该文件实际上包含包含秘密的XML内容。
以下是从https://cje.example.com/computer/jnlpAgentTest/slave-agent.jnlp的Jenkins实例下载的JNLP文件的示例-秘密为
b8c80148ce36de10c9358384fac9e28fbba941055a9a6ab2277e75ddc29a8744
:<jnlp codebase="https://cje.example.com/computer/jnlpAgentTest/" spec="1.0+"> <information> <title>Agent for jnlpAgentTest</title> <vendor>Jenkins project</vendor> <homepage href="https://jenkins-ci.org/"/> </information> <security> <all-permissions/> </security> <resources> <j2se version="1.8+"/> <jar href="https://cje.example.com/jnlpJars/remoting.jar"/> </resources> <application-desc main-class="hudson.remoting.jnlp.Main"> <argument>b8c80148ce36de10c9358384fac9e28fbba941055a9a6ab2277e75ddc29a8744</argument> <argument>jnlpAgentTest</argument> <argument>-workDir</argument> <argument>/tmp/jnlpAgenttest</argument> <argument>-internalDir</argument> <argument>remoting</argument> <argument>-url</argument> <argument>https://cje.example.com/</argument> </application-desc> </jnlp>
答案 1 :(得分:0)
我没有“价值从何而来”的知识,但是,如果您是Jenkins管理员,则可以登录Jenkins,Manage Jenkins,脚本控制台,然后运行此脚本(脚本来自此处:{{3 }}):
for (aSlave in hudson.model.Hudson.instance.slaves)
{ println aSlave.name + "," + aSlave.getComputer().getJnlpMac() }
此外,本文档还介绍了如果您不是Jenkins管理员,应该如何做:JENKINS-18342