2013-04-28 16 views
21

Jenkinsでビルドをトリガするのに問題があり、誰かがアイデアを持っているのか疑問に思っています。Jenkins:Matrix Authorization Strategyを使用しているときに「Trigger Builds Remotely」のトークンが機能しない

"Project-based Matrix Authorization Strategy"を有効にしてLDAPを使用するようにグローバルセキュリティを設定しました。 「匿名」ユーザーには「ジョブ>ビルド」特権があり、他の特権はありません(特に、「匿名」ユーザーには「全体>読み取り」特権はありません。ジョブのリストと他の一般的な情報)。

"Trigger Builds Remote"機能を使用して自動スクリプトをビルドできるようにする場合は、URLに?token=[token]という値を指定し、[token]の値が一致する限り、標準認証をバイパスする必要があります。私はジョブの設定ページで設定したものです。目標はにあります。は、要求に正規のユーザー名とパスワードを提供する必要がありますが、単にこの特定のジョブのトークンを提供する必要があります。

curl -i https://jenkinsHost/job/ProjectName/build?token=test 

しかし、私は得る::だから具体的には、私が動作するように、このHTTPリクエストを期待してい
https://wiki.jenkins-ci.org/display/JENKINS/Quick+and+Simple+Security

ドキュメントでは、これが動作する必要があることを示すように思わ

[~]$ curl -i https://jenkinsHost/job/ProjectName/build?token=test 
HTTP/1.1 403 Forbidden 
Date: Sat, 27 Apr 2013 23:17:03 GMT 
Server: Winstone Servlet Engine v0.9.10 
Content-Type: text/html;charset=UTF-8 
Content-Length: 629 
X-Powered-By: Servlet/2.5 (Winstone/0.9.10) 
Set-Cookie: JSESSIONID.e9bc4765=e1f0a30b9f04b3740bae527a7822b2d5; Path=/; HttpOnly 
Connection: close 

<html><head><meta http-equiv='refresh' content='1;url=/login?from=%2Fjob%2FProjectName%2Fbuild%3Ftoken%3Dtest'/> 
<script> 
window.location.replace('/login?from=%2Fjob%2FProjectName%2Fbuild%3Ftoken%3Dtest');</script> 
</head> 
<body style='background-color:white; color:white;'> 
Authentication required 
</body></html> 

DO API認証を使用すると、要求は機能します。

curl --username "test_user:API_KEY" https://hostname/job/ProjectName/build?token=test 

しかし、再び、私はトークンがあると私は設定プロジェクトのトークンと一致した場合は?グローバル認証をバイパスすることになっていると思うのマニュアルに従って。なぜこれは機能しないのですか?他にどのような情報やログを提供できますか?

Build Token Root Plugin

用途:

$ curl 'http://jenkins/buildByToken/build?job=jobname&token=mytoken' 
Scheduled. 

同様にbuildWithParameters

+0

[(許可トークン「SECRET」で)この仕事のために有効にする必要があることを

wget --post-data="job=MyJob&token=SECRET&MyParameter=hello" http://servername/jenkins/buildByToken/buildWithParameters 

ノート関連するバグレポート](https://issues.jenkins-ci.org/browse/JENKINS-17764)そして、おそらく5年前の元の報告書(https://issues.jenkins-ci.org/browse/JENKINS-1555)のようです。 Kohsukeは、ビルドトークンサポートが推奨されていないというコメントの1つに書いています。 –

+0

ええ、私は[最初のもの](https://issues.jenkins-ci.org/browse/JENKINS-17764):)を提出しました。しかし、第二のリンクのおかげで、おそらくそれは意図的ですが、私はまだそれを修正することに有利な良いケースがあると思う –

答えて

35

あなたはジェンキンスが禁止しているときでも、匿名アクセスを読むことを行うことができます新しいプラグインがあります。 POSTで「許可トークンルートの構築」プラグインを使用するための

+2

ありがとう!そして、URLに '&cause = 'を渡して、なぜビルドがトリガーされたかの理由を提供することも可能であることに気付きました。 –

+1

このプラグインをインストールしましたが、jenkinsはまだカール要求をログインにリダイレクトしています。設定は必要ですか? –

+0

プラグインをインストールした後で私の仕事で "Trigger Builds Remote"オプションが表示されない:( –

0

例:「トリガーはリモートビルド」

関連する問題