JNLP秘密从何而来?

时间:2018-11-01 15:07:56

标签: jenkins

我正在将静态从属服务器连接到Jenkins主服务器。我要使用的命令是:

java -jar <PATH>/slave.jar -jnlpUrl $JENKINS_MASTER_URL -secret $JNLP_SECRET

我的问题是$JNLP_SECRET的秘密来自哪里?

如果在Jenkins Master中配置了某些东西,那么它在哪里配置?

如果我可以访问它,是否可以将其粘贴到此命令中?

我们将为您提供简短的解释或指向文档的链接。

2 个答案:

答案 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