3

数分ごとにリポジトリをポーリングする SCM 制御のプロジェクトがあります。全体的なワークフローは素晴らしいですが、時々、Jenkins でビルドをトリガーせずに新しい変更をサーバーのリポジトリにプッシュする必要があります (さまざまな理由で: 長いビルド、マイナーな変更、同時コミットなど)。

私はすでに沈黙期間を設定しており、時々ビルドを開始して停止するだけです (これは厄介です)。そのため、Jenkins は変更をプルし、後でビルドをトリガーしません。

したがって、次のいずれかを許可するプラグインはありますか。

  • 今後のビルドを手動でキャンセルする (SCM ポーラーによってトリガーされる前に)
  • ビルドをトリガーせずにプロジェクトの SCM リポジトリを手動で更新しますか?
4

3 に答える 3

7

これを行うには多くの解決策があります:

  1. SCM をポーリングして変更時にビルドをトリガーする代わりに、別の方法でそれを行うことができます。コミットがジョブをトリガーするかどうかを SCM に決定させることができます。例についてはそこを見てください
  2. ジョブの Subversion 拡張プロパティで「除外されたコミット コメント」プロパティを使用してみると、「無駄なコミット」でビルドがトリガーされるのを回避できます。
于 2012-05-22T11:50:21.493 に答える
2

それを見てみましょう: https://wiki.jenkins-ci.org/display/JENKINS/PollSCM+Plugin

ビルドトリガーを「定期的にビルド」(「プールSCM」トリガーなし)のみとして構成する必要があり、それでうまくいくと思います

于 2012-05-22T11:45:30.970 に答える
1

別のアイデア (必ずしもより良いものではありませんが、好みに合うかもしれません): Run Condition Pluginを使用します。ビルドの残りの部分をパラメーターで条件付きにします (名前をDO_BUILDにしましょう)。そのパラメーターをデフォルトでTRUEに設定します。ビルドセットをトリガーせずに何かをコミットする必要がある場合は、デフォルトでDO_BUILDをFALSEに設定します。

同じアイデアのバリエーション:ビルド ステップでParameterized Trigger Pluginを介してメイン ジョブを呼び出す1 つのジョブ ( Trigger ) でポーリングを行います。そのビルドステップは、パラメーターに基づいて条件付けできます。この場合、両方のビルドに同じカスタム ワークスペースを使用するか、メイン ジョブで手動チェックアウト (たとえば、シェル ビルド ステップで) を行う必要があることに注意してください。

于 2012-05-22T13:52:22.157 に答える