JenkinsのGitHub Organizationオブジェクトで使用するJenkinsfileを作成しました。 Jenkinsfileの一部はエラー修正であり、しばしばプロジェクトを変更します。パイプラインの最後で、Jenkinsはgitリポジトリへの変更をコミットします。同じジョブでgit pushによって引き起こされるJenkinsビルドを防止する
これまで私はすべての作業を行っていましたが、訂正をリポジトリにプッシュすると、ウェブフックによってトリガされるため、エラーを実行して修正した同じジョブが再び実行されることに気付きました。最初の実行後にエラーを修正する必要はないので、無限ループではありませんが、必要以上に時間がかかります。
パイプラインにデプロイメント・ステップが含まれているため、ジョブによってトリガーされた変更が問題になることは事実です。同じコードを2回続けて再デプロイすると、パイプラインが正しく書かれていないと感じられます。つまり、キーワードの最後のコミットメッセージを検索するのに手間がかからず、ジョブをコミットしないようにするための良い方法を見つけることができません。この問題を解決するには、よりハッキリな方法はありますか?
編集:私はci-skipプラグインを認識していますが、宣言的パイプラインで動作させるためのドキュメントはありません。私は、ビルドの開始時にデフォルトのscmチェックアウト手順で何かをさせる方法を好むでしょう。
編集2:パイプラインがメッセージに[ci skip]というテキストが含まれているかどうかを確認するたびに、最後のコミットメッセージのgrepを実行するだけでした。その汚れているが、それはパイプラインのセットアップ段階に配置されている場合は動作します。
悲しいことに、このタイプにはジョブレベルの設定はありません。これは、orgのすべてのreposをスキャンし、Jenkinsfileを使用している場合は、その(宣言的な)Jenkinsfileに従ってジョブを設定します。 – eloucks