2016-04-04 14 views
1

コミットメッセージが指定された文字列で始まる場合、Jenkinsジョブの実行を無視します。私は、「追加の動作」を追加しようとしたと「ポーリングは、特定のメッセージでコミットを無視する」:コミットメッセージが指定された文字列で始まる場合、Jenkinsジョブを無視します。

enter image description here

すなわち、コミットメッセージが "doc!"で始まっていれば、仕事を無視したい(私の世界では仕事をしないという意味です)。私はいくつかのオンライン正規表現マッチャーを試したと私は^doc!.*の正規表現が正しいと思う。しかし、私のコミットメッセージは "doc"で始まっていますがジョブはジェンキンスによって実行されます。私は間違って何をしていますか?

答えて

2

@ devanshu-dwivediの答えは私のアプローチを働くかもしれませんが私は私の正規表現を変更した場合も同様に動作するようです:このような場合は、なぜ私は正確に知らない

(?s)^doc!.*

。ドキュメントには、(?s)を使用すると、コミットメッセージの複数のコメント行がチェックされています。しかし、(?s)を使用しないと、1行のコミットメッセージで1回コミットしても私にとってはうまくいきません。

+0

@Devanshu Dwivedi: ' ':私は 'ビルダー..テキストをスキップCIとのメッセージをコミット..私はこれを行うには、コードの下に書いたときジェンキンスが構築スキップしたい。これまたは任意のより良い解決策の入力を必要とします - 条件付きステップ: ' '条件種別:正規表現一致 ' ' regex:。* ci \ W + skip。* ' 'ラベル:$ GIT_COMMIT' '評価中エラー:実行' – RBT

1

Jenkins Gitプラグインは環境変数GIT_COMMITを公開しています。もちろん、現在のgit commitハッシュが含まれています。 [ジェンキンス条件付きステップ]を使用して、次のbashシェルを実行するステップ構築:

echo "===========================" 

if [ "git show $GIT_COMMIT | grep ".doc" == false ] ; then 
    echo "pattern failed"; 
    exit 1 
else 
    echo "ok" 
fi 

echo "===========================" 

を、シェルが失敗した場合、ビルドに失敗することをマークします。

関連する問題