[英]Jenkins agent crashed/Terminated Caused by: java.security.AccessControlException:
[英]Jenkins Agent Security
我有 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 代理都具有相同的密碼?
如果您是 jenkins 管理員,請檢查
1)管理Jenkins-->配置全局安全-->訪問控制-->授權
在基於項目的矩陣授權策略下,確保您沒有勾選匿名角色代理下的連接選項。
(或者)
2) 確保 Manage Jenkins--> Configure Global Security-->Agents-->Agent 協議僅啟用了 V4 JNLP V4 基於 TLS 的加密
至於你的第二個問題,我不知道。 我面臨着如何將奴隸自動連接到具有不同 Secrets 的 Jenkins Master 的相同問題
JNLP 秘密源自代理的名稱。 您可以從 jnlp 文件或通過在 master 上執行的 groovy 獲取特定代理的 JnlpMac 或機密。 請參閱例如如何遠程查找 JNLP 節點的密鑰?
您可以在包含 jre 參數的Remote root directory
添加 jenkins-slave.exe 和 jenkins-slave.xml 這需要一個密鑰。 僅當您將代理設置為 Windows 服務時才需要密鑰。
我已按照LINK 中的說明進行操作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.