首页 > 解决方案 > 詹金斯代理安全

问题描述

我有 2 个问题想弄清楚。

问题 1

我已经设置了一个 Jenkins Master,并正在尝试使用 UI 创建一个代理。这是 UI 片段。 在此处输入图像描述

现在,当我单击保存并打开代理时,它会告诉我使用此命令进行连接。

java -jar agent.jar -jnlpUrl https://<MASTER_NODE>/computer/Test_node/slave-agent.jnlp

它没有给我使用的选项-secret。如何启用该功能,以便我还需要提供连接到我的主人的秘密。

问题2

我正在自动创建多个 Jenkins 代理。我将使用 REST API 调用来做到这一点。命令是

curl -s -k -w %{http_code} -X POST "https://<MASTER_NODE>/computer/doCreateItem?name=jenkins-slave-1&type=hudson.slaves.DumbSlave" \
                        -H "Content-Type: application/x-www-form-urlencoded" \
                        -H "Jenkins-Crumb: ${JENKINS_CRUMB}" \
                        -d "json=${JNLP_JSON}" )

现在问题是对于每个代理,jnlp 文件中的秘密值是不同的。有没有办法在 Jenkins Master 中指定该值,以便每个 Jenkins Agent 都具有相同的密码?

标签: jenkinsjenkins-slave

解决方案


您可以添加 jenkins-slave.exe 和 jenkins-slave.xml,Remote root directory其中包含需要密钥的 jre 参数。仅当您将代理设置为 Windows 服务时才需要密钥。

我已按照LINK中的说明进行操作


推荐阅读