18

私のJenkins継続的インテグレーションサーバーはUbuntuホストで実行されており、次のように構成されています。

  • ジェンキンスv1.463
  • github-api 1.23
  • JenkinsGITプラグイン1.1.18
  • GitHubプラグイン1.2

SCMのポーリングは機能します。このビルド後のトリガーがナンセンスであることを除いて、他のjenkins関連の構成がうまく機能していることを知ってほしいので、これは言うことが重要です。

プライベートgithubリポジトリの開発ブランチに変更がプッシュされると、最新の変更を組み込んだビルドがトリガーされるようにJenkinsを構成したいと思います。

リポジトリは、所有者としての私の個人的なgithubアカウントの下にあります。この所有者と呼びましょう

コラボレーターとして別のgithub.comアカウントを含めています。このコラボレーターと呼びましょう

私がこれをしている理由は、私がプロジェクトに関与しなくなった場合に、他の誰かがメンテナンスを続けることができるからです。

ubuntuのjenkinsユーザーのSSHキーは、コラボレーターの下に保存されます

私は次のリンクを調べました:

http://nepalonrails.tumblr.com/post/14217655627/set-up-jenkins-ci-on-ubuntu-for-painless-rails3-app-ci

https://issues.jenkins-ci.org/browse/JENKINS-10391

https://wiki.jenkins-ci.org/display/JENKINS/Github+Plugin

http://kohsuke.org/2011/12/01/polling-must-die-triggering-jenkins-builds-from-a-git-hook/

https://wiki.jenkins-ci.org/display/JENKINS/Logging

http://blog.cloudbees.com/2012/01/better-integration-between-jenkins-and.html

どれも機能していません。少し時代遅れに見えるか、矛盾しているように見えるものもあります。

jenkinsubuntuユーザーのknownhostsにgithub.comを追加しました。githubwebhookを追加しました。

jenkinsで手動および自動のgithubwebhookセットアップを試しました。

何も機能しません。

githubをポーリングせずにこれを実現する方法についてのステップバイステップガイドが必要です。

4

2 に答える 2

24

同様の問題が発生し、メインのJenkinsシステムログを確認した後、次のことがわかりました。

Feb 15, 2013 8:35:44 PM hudson.security.csrf.CrumbFilter doFilter
WARNING: No valid crumb was included in request for /github-webhook/.  Returning 403.

解決策は、CSRF保護をオフにすることです-Jenkinsの管理>システムの構成>クロスサイトリクエストフォージェリのエクスプロイトの防止。チェックボックスは、最初の構成セクションのすぐ下にあります。その後、すべてがうまく機能しているように見えました。

于 2013-02-16T01:43:17.910 に答える
2

com.cloudbees.jenkinsURLの下のカテゴリのトレースレベルのログを使用してロガーを作成します/log([Jenkinsの管理]-> [システムログ])。

リポジトリ管理画面の[サービスフック]セクションにWebhookURLエントリがあることを確認します。

テストフックをクリックすると、新しく作成したロガーの下にログアクティビティが表示されます。

最後に、GitHubプッシュによってトリガーされるように構成したビルドのGitHubポーリングログアクションを確認します。

よくある間違いは、変更を加えずにこのようなコミットフックをテストすることです。

フックはポーリングを促すためにのみ使用され、変更が検出されない限りビルドを実行しません。

于 2012-05-21T19:41:24.983 に答える