2017-05-13 6 views
0

Git/Git-hubマスターブランチ内の特定のフォルダーが変更されたときにjenkinsジョブを実行したいと思います。Jenkinsのマスターブランチ内の特定のGit-folderを言及する方法

現在、Gitマスターが変更されているときは常に実行されていますが、Gitマスター内で特定のフォルダーが変更されている場合のみ実行する必要があります。私は上記のように

enter image description here

enter image description here

は、私が仕事を実行するために必要なだけよりも唯一のサブフォルダが変化し、私は別のオプションを試してみましたが、私のフォルダを識別するのができません。

あなたのアドバイスと解決策をお探しします。

ありがとうございます。

+0

これはできません。 gitでは、ホール担当者をチェックアウトする必要があります。 – Torsten

+0

このプラグインにはこのような機能はありません。プラグインのGerrit Triggerは仕事をすることができますが、Gerritが主催するリポジトリのためのものです。サブフォルダが変更されていなければ、ジョブを起動させることができます。 – ElpieKay

+0

私はそう不可能だとは思っていません。git masterブランチフォルダが変更されたときにJenkinsジョブをトリガする方法があるかもしれません。 –

答えて

0

私は単に「追加の動作に」Gitのセクション以下のセクションを確認し、「ポーリングを選択ジェンキンスすなわち、1つの単純な追加行動を追加することによって、この質問への答えを得ました特定のフォルダパス 'を使用しています。

ここでは、私の場合は「subFolder/*。sh」という特定のフォルダパスを指定します。

2

あなたのjenkinsテストスクリプトでは、最初に最新のコミット(環境変数GIT_COMMITを使用)を読んで、気になるターゲットサブディレクトリの変更をスキャンしていると思います。変更が表示されない場合は、ビルドを早期に終了してください。

これはきれいではありませんが、あなたのシナリオではうまくいくはずです。

例:

git diff --name-only $GIT_PREVIOUS_SUCCESSFUL_COMMIT $GIT_COMMIT | grep "the/directory/you/care/" -q 
if [ $? -ne 0 ]; then 
    # if there is no change under the directory you care, exit now. 
    echo "No change under the target directory. Skipping build.." 
    exit 0 
fi 

# your existing build/test script... 
+0

私はジェンキンスに新しいです、あなたは私に一つの例を教えてもらえますか? –

+0

私は、ジェンキンステストスクリプトの例を追加しました。 – Ang

関連する問題