40

Jenkins は localhost で実行されています。GitHub にリポジトリがあります。「変更が GitHub にプッシュされたときにビルドする」オプションがオンになっています。

「今すぐビルド」をクリックすると、ビルドが正常に完了し、問題はありません。しかし、私のリポジトリにコードをコミットしているとき、自動ビルドは行われません。リポジトリは公開されているので、自分のシステムから GitHub にアクセスできます。Jenkins でさえ検出できるはずです。ポーリングオプションがあることは知っていますが、リポジトリで変更が検出されたときにJenkinsにビルドしてもらいたいです(これが私たちが達成しようとしてきたことです)。

構成:

ジェンキンス 1.615

Git プラグイン 2.3.5

Git クライアント プラグイン 1.17.1

———————————————————————————————————————————</p>

編集:「変更が GitHub にプッシュされたときにビルドする」オプションは、GitHub プラグインの最新バージョンで「GITScm ポーリングの GitHub フック トリガー」に名前が変更されました。(@smrubin のフィードバックに感謝します。)

4

4 に答える 4

76

を見逃したのではないかと思いますwebhook url

オプションをチェックするだけBuild when a change is pushed to GitHubでなく、Webhook の URL を Github リポジトリに追加して、自動トリガーメカニズムを機能させる必要があります。その方法は次のとおりです。

Github リポジトリに移動します。

設定 --> Webhooks&Services --> サービス --> サービスの追加 --> 「Jenkins (GitHub プラグイン)」を選択

次に、次のJenkins hook urlように jenkins の URL を入力します: http://your_jenkins_url/github-webhook/ ここに画像の説明を入力


そして、非常に重要なことですが、jenkins サーバーをローカルホストにインストールしているので、Github はorを認識できないため、上記の Jenkins フック URL を入力しないでください。 http://localhost:8080/github-webhook/localhost127.0.0.1192.168.*.*

Github が認識できる、外部からアクセス可能な DNS 名または IP アドレスを使用する必要があります。

于 2015-06-01T15:49:17.763 に答える
3

実際にJenkins -> Github plugin configuration(上記の) から Webhook 設定を行うと、Webhook が github で作成されていることがわかります。したがって、上記の 2 つのアプローチは基本的に同じことを行います。

個人的には、Github から Webhook を作成するのが好きです。この方法では、github のユーザー情報を jenkins で共有または保存する必要がないからです。

手順 :

  1. Github にログインします (管理者で)

  2. jenkinsでフックしたいリポジトリに移動します

  3. 設定タブをクリック - > webhooks & services
  4. [Webhook を追加] をクリックします。
  5. ペイロード URL を入力してください: http://:8080/github-webhook/ のように
  6. コンテンツ タイプとして json を選択します。
  7. あなたは終わった。

変更を加えて commit すると、jenkins build get trigger が自動的に表示されます。github にコードをプッシュするときにビルドを開始するために、jenkins ジョブで設定を行うことを忘れないでください。

于 2015-12-17T09:30:02.520 に答える