web-dev-qa-db-ja.com

Jenkinsのジョブ通知が「URIのgitコンシューマーなし」で失敗する

変更についてgitに通知するpost-receivejenkinsフックを設定したいのですが、jenkinsでジョブがトリガーされません。

私のpost-receiveフックは次のようになります。

curl http://localhost/jenkins/git/notifyCommit?url=<git_repository_url>

ターミナルでコマンドを発行すると、次のメッセージが表示されます。

"No git consumers for URI..."

Git Source Code Managementに接続したjenkinsジョブがあります。リポジトリURLとブランチ:*/master

この問題を検索しましたが、「URIのgitコンシューマーなし」に関連する有用なものは見つかりませんでした。

私が使う:

  • LinuxMint
  • Apache 2.4.6
  • git 1.8.3.2
  • curl 7.32.0
  • ジェンキンス1.532.2

Apacheでプロキシをセットアップしています:

<Proxy *>
    Order deny,allow
    deny from all
   allow from 127.0.0.1
</Proxy>

Gitリポジトリはbareです。

25
Quirin

通知する各プロジェクトのSCMポーリングを有効にします。

  1. ダッシュボードに移動します。
  2. projectをクリックします。
  3. Configureをクリックします。
  4. トリガーの構築の下で、Poll SCMのボックスをチェックします。
  5. 他のプロジェクトについても繰り返します。

送信する通知は、Jenkinsにリポジトリをポーリングするように指示するため、プロジェクトはSCMポーリングが有効な場合にのみ応答します。

44

メッセージ No git consumers for URIは常に表示されます。No git jobs using repository。応答には、ポーリング用にスケジュールされたジョブのリストが含まれるため、それらが表示されている限り、ポーリングがトリガーされました。

それは、ポーリングが実際にdoing何かであることを確認したいということです。 Gitで構成されたジョブに移動すると、左側にGitポーリングログへのリンクが表示されます。そこで、トリガーが実際に何かをしたかどうか、さらに重要なことにエラーがあったかどうかを確認できます。

私はこれに似た問題を抱えていたので、Gitの設定が間違っていることを理解するのに時間がかかりました。手動でトリガーした場合、私のジョブはうまく構築されますが、ポーリングトリガーはGitバイナリへの別のパスを使用して失敗します。私は自分の問題を解決するためにGitパスを定義する必要がありました。

16
monitorjbl

次の手順を実行する必要がありました。

  1. @ angstadt530 の回答に従って、SCMポーリングを有効にします。
    • project-> configure-> "Build Triggers"-> "Enable SCM Polling" ...チェックしてください
  2. @monitorjbl によって回答されたGitポーリングログを確認します。
    • project-> "Git Polling Log" ...#3を識別する
  3. ワークスペースを使用したポーリングの強制
    • project-> configure-> "Source Code Management"-> "Additional Behaviors"-> add-> "Force polling using workspace" ...プルダウンから選択します。

「URI gitRepoURIのgitコンシューマーなし」に加えて#1を完了した後、「projectNameのスケジュールされたポーリング」も取得しました。

しかし、Gitポーリングログを見ると、エラーメッセージが見つかりました:プログラム「C:\ Program Files(x86)\ Git\bin\git.exe」を実行できません:error = 2そのようなファイルまたはディレクトリはありません

このエラーを修正するには、ワークスペースを使用してポーリングを強制するようにソースコード管理を構成する必要がありました(#3)。手動で開始したビルドが正常に機能するため、理由はわかりません。バグかもしれません-LinuxサーバーとWindowsスレーブの混合かもしれません。しかし、いずれにせよ、これでようやく修正されました。それが役に立てば幸い。

6
dhj