アップデート:
Craig Ringerが彼の回答で言及しているように、GitHub プラグイン設定の下の「Configure Jenkins」を選択Grant READ permissions for /github-webhook
して、認証なしで Webhook を呼び出すことができます。
別の更新: Webhook が組織で利用できるようになりました (2014 年 12 月): 組織向けの WebHooks API を参照してください。
注: hudson-github-pluginの問題 4は、次のことに関するものでした。
Last GitHub Push
Polling has not run yet.
そして結論は次のとおりでした。
気にしないでください、唯一欠けていたのは、インターネット上のどこにも文書化されていないgithubユーザーの許可チェックボックスでした.
これは、Jenkins ユーザーに関する権限の問題ですか?
記事「楽な Rails3 アプリ CI テストのために Ubuntu で Jenkins-CI をセットアップする」には、次のプロセスが含まれています。
CI システムを制限し、チーム メンバーがビルド ログを使用または表示できるようにするには、まずアカウントを作成する必要があります。
- に行き
Manage Jenkins > Configure System
、
- チェックボックスに
Enable Security
チェックを入れる
- の下
Security Realm
で、Jenkins 独自のユーザー データベースを選択します。
- チェックボックスに
Allow users to sign up
チェックを入れる
- の下
Authorization
で、選択しますProject-based Matrix Authorization Strategy
- 最初のユーザーを admin という名前で追加し、別のユーザーを GitHub で追加します (注: 管理者アクセスのユーザー名は admin である必要があります) 。このユーザーは、後で GitHub フックで使用します。
注: 上記の手順で追加した管理者と GitHub ユーザーは、ユーザーを作成しません。次に、同じ名前で実際のユーザーを作成する必要があります。ええ、私は知っています、Jenkins UI では少し奇妙です。
管理に移動しJenkins > Manage Users > Create User
ます。管理者と GitHub ユーザーの両方を作成します。
Github Web フックを使用したフック
新しいコミットまたはブランチが Github にプッシュされたときにビルドを自動的に実行するには、リポジトリをセットアップする必要があります。
リポジトリのフック ページに移動します。例えば
github.com/<username>/<project_name>/admin/hooks
の下AVAILABLE SERVICE HOOKS > Post-Receive URLs
に、 を追加しgithub:github@your-ci-server.com/github-webhook/
ます。
これgithub:github
は、以前に作成したユーザーです。
次に、Jenkins を Github で検証する必要があります。Manage Jenkins > Configure System に移動し、GitHub Web Hook の下で、Github のユーザー名とパスワードを追加し、Test Credential ボタンをクリックして、Github で一度承認します。