2017-07-14 154 views
0

Jenkins管道作業不使用jenkins cli觸發管道作業。當我運行jenkins作爲anaonymous這個工程,但是當我創建一個用戶/管理它失敗。Jenkins管道作業被匿名觸發,但不作爲用戶/管理員

我有一個工作A有參數並將其傳遞給管道作業。這是一個主從設置。這是我如何運行:

sudo java -jar /home/user/jenkins-cli.jar -s $JENKINS_URL build pipeline_job -p parameter_Name="$parameter_Name" -p parameter_Name2="$parameter2_Name" 

1)我使用選項嘗試, 「-auth」, 「-username -password」,但不起作用。

錯誤: 沒有這樣的命令:-auth 沒有這樣的命令:-ssh

2)另一種選擇是粘貼SSH部分http://jenkin_url/me/configure公鑰,但還是失敗了

錯誤:

java.io.IOException: Invalid PEM structure, '-----BEGIN...' missing 

有沒有我缺少什麼?

+0

這事涉及到這個問題 - https://issues.jenkins-ci.org/browse/JENKINS-12543 但尚不清楚 –

回答

0

我找到了解決方案,

1.)使用SSH CLI。

在我的情況下,我使用主從環境,使用SSH密鑰進行連接,反之亦然。爲了使用Jenkins CLI觸發構建,請將SSH密鑰公開爲&私有並將它們放置在http://jenkinsURL/user/username/configure

此處username =用於連接節點的名稱。

觸發任務如下:

java -jar /home/username/jenkins-cli.jar -s $JENKINS_URL -i /home/username/.ssh/id_rsa build JOBNAME 

注:這是一種方式,但CloudBees的不鼓勵這種做法。

2.)有一種新的方法,即使用API​​令牌認證。

  • 轉到http://jenkinsURL/user/username/configure
  • 複製API令牌
  • 觸發編譯如下:

    Java的罐子/home/username/jenkins-cli.jar -s $ JENKINS_URL -auth用戶名:apitoken /home/username/.ssh/id_rsa建立JOBNAME

注:對於使用API​​托克n選項,下載最新的jar文件

+0

這是一般的,不特定於管道。一般來說,如果用戶管理設置不正確,那麼您將無法使用Jenkins cli觸發和工作 –