7

次のセットアップがアクティブで機能しています。

  • GitおよびSonarプラグインを使用したJenkins
  • project毎分Gitをポーリングする1つのjenkinsジョブ( )
  • project-sonar24時間ごとにgitをポーリングする1つのjenkinsジョブ( )

両方のジョブは同じgitリポジトリを共有します。

これにより、コミットごとにプロジェクトをビルドし、プロジェクトが変更された場合にのみ、毎日ソナー分析を実行できます。

最近、リポジトリからのプッシュ通知に従って、プロジェクトが変更されたときにJenkinsに通知を送信するようにgitリポジトリを設定しました。これにより、両方のプロジェクトがすぐにビルドされますがproject、ビルドするのはクイック()ジョブのみです。定期的にビルドするように移動するproject-sonarと、コードを変更しなくてもソナー分析が実行されるので無駄です。

どうすれば保持できますか

  • ビルドの即時projectビルド
  • ビルドのためのデイリーproject-sonarビルド

4

3 に答える 3

3

「実行条件」プラグインをジェンキンに使用して、あなたが見ているものと非常によく似たものを実装しました。 https://wiki.jenkins-ci.org/display/JENKINS/Run+Condition+Plugin

ソナー ジョブをポーリング/ビルド/テスト ジョブの後続として、1 日に 1 回だけ実行されるように条件を設定しました。

于 2012-08-13T17:01:54.553 に答える
1

次のアプローチを使用してこれを解決しました。

  1. すべての jenkins プロジェクトは、git リポジトリにちなんで名付けられています (私は gitolite を使用しています)。
  2. ベースビルド用にリモートでトリガービルドのみをアクティブ化しました
  3. 私はpost-receivegitoliteに次のようなフックを追加しました

    $CURL --silent --netrc --insecure --connect-timeout 2 "$GIT_REMOTE_TRIGGER_URL/$GL_REPO/build?token=$JENKINS_BUILD_TOKEN" > /dev/null

  4. 24 時間ごとに SCM をポーリングするようにすべてのソナー ジョブをスケジュールしました

于 2012-08-25T10:52:51.597 に答える