2012-01-05 6 views
12

私はGithubリポジトリでJenkinsを使用し、再起動後にJenkinsはレポから削除されたブランチでもすべてのブランチに対してspecを実行します。ジェンキンズを実際のレポブランチだけで走らせるにはどうすればいいですか?再起動後のJenkinsは削除されたブランチで仕様を実行します

+1

gitの詳細設定で "ビルド前にリモートブランチをプルーニング"を試しましたか? – 4ndrew

+0

「削除済み」とは、ローカルリポジトリまたはリモートリポジトリでブランチが削除されたことを意味しますか? –

+0

関連する「詳細」設定は、プロジェクト構成ページの_second_詳細設定ボタンの下にあり、最初の設定ではありません。 – phs

答えて

13

これは、クライアント側のローカルリポジトリにすべてのブランチやタグなどが残っているために発生します。ビルドプロセス中にそれらを使用しないようにするためには、あなたが考慮するかもしれないいくつかのシナリオがあります:

  1. はジェンキンスgitのプラグインは、あなたはすべてのビルド前git remote pruneを実行することができます。コマンドのドキュメントは非常に具体的なので、あなたが望むものとまったく同じように動作します:

    すべての古いトラッキングブランチを削除します。これらの古くなったブランチは、で参照されたリモートリポジトリからすでに削除されていますが、引き続きローカルでは "remotes /"で利用可能です。

    この機能は、セクションソースコード管理、プロジェクトの設定ページで入手でき、その後、Gitのとリポジトリの定義を見つけます。それらの下にはアドバンスドボタンがあり、それをクリックした後、という名前のオプションをビルドする前にリモートブランチをプルーニングすると、が表示されます。それがチェックされていることを確認し、あなたは行かなくてはなりません。

  2. 私のジェンキンスと私が個人的に好むものは、Workspace Cleanup Pluginです。このプラグインは、プロジェクトの実行がの後に、またはの前に、指定されたジョブのワークスペース全体を削除します。これは、あなたのMaven、Ant、[...] *プロジェクトを構築するために何を使用するにしても、きれいにチェックアウトされた環境を作り出します。また、プロジェクトの完全なチェックアウトが必要になることもありますが、実際にはかなり時間がかかることがありますが、開発者が意図したとおり、すべてのファイルが新鮮になる100%の間違いのないソリューションを提供します。さあ。
関連する問題