2

私が作業しているライブラリのバージョンファイルを自動更新するスクリプトを書いています。現在、P4 Pluginを使用しています。特定のPERFORCEユーザから提出したJenkinsのビルドを無効にする

Jenkinsが(ポーリングを使用して)ディレクトリへの変更をピックアップすると、ビルドがトリガーされます。そのビルドの一環として、JenkinsはPERFORCEコマンドラインクライアントを使用して、スクリプトを使用してPERFORCE送信番号に一致するバージョンファイルをチェックアウトし、更新します。

これはすべてうまくいきますが、バージョンファイルが更新されたときに次回のポーリングが発生したときに、バージョンファイルが変更されてからビルドがトリガーされます。これは、バージョンファイルを更新するビルドをトリガする無限ループにつながります。

私の質問は、変更が特定のPERFORCEユーザーから来た場合、Jenkinsにビルドしないように指示する方法がありますか?私はGit pluginがビルドをトリガーすることができるかについてかなり柔軟なルールを持っているようだが、外部のプラグインや非gitプラグインに頼ることなくJenkinsでこれを行う方法があるのだろうかと思っていた。私はPerforceと一緒に働いています。

また、特定のファイルだけが変更された場合でもJenkinsにビルドをトリガーしないよう指示することもできます。

私はこれにどのようにアプローチすることができますか?

編集: バージョンは、誰かがプロジェクトのメインコードラインに提出するたびに変更されます。これは、内部ライブラリのバージョンを追跡し、それを作成したPERFORCEの送信と同期させるために行われます。そうすれば、PERFORCEがコミットしたことを追跡する方法があり、Jiraでもそれを追跡することができます。

今のところ、スクリプトは単なるダンプC#コマンドラインのexeです。私はそれをP4API.NETに接続して、そのロジックをすべて自分自身で書くことを避けることを望んでいました。

+0

のポーリングビルドフィルタを使用どうして?どのくらいの頻度でバージョンが変わりますか?何も変更がなければ、バージョンファイルに触れないようにスクリプトを変更できますか? –

+0

私の質問が更新されました – KSF

+0

"変更をユーザーから除外"のポーリングビルドフィルターを試しましたか? – tkosinski

答えて

2

のバージョンのファイルを更新するためのスクリプトは、ビルドの一部です?「ユーザーからの変更を除外する」

enter image description here

関連する問題