0

Jenkins を使用して、git リポジトリから特定のブランチを取得しています。.git フォルダーは、プルしているプロジェクトのサイズの約 5 倍です。試しgit gc --aggressive --pruneましたが、問題は解決しません。

Jenkins からリポジトリにプッシュするつもりはありません。リポジトリへの変更をすばやく確認し、見つかった場合はそれらの変更を取得してプロジェクトをビルドするだけです。歴史の問題なら、もちろんなくてもいい。

私は特に git プラグインを使用しているので、毎回最初のフェッチを行うため、それに合わせたメソッドが理想的です。フェッチ後にコマンドを実行する必要がある場合は、実行します。

4

1 に答える 1

1

通常の答えは、.git フォルダーのサイズを無視することです。変更をプルすると、完全な git リポジトリではなく、変更のみがコピーされます。(ビルド前に jenkins ワークスペースを削除している場合を除きますが、ビルドごとに完全なクローンを作成する必要があるため、それは良い考えではありません。)

ビルドをクリーンにするか心配な場合は、[チェックアウト後にクリーン] チェックボックスをオンにします。ビルド前に Jenkins に git clean を実行させます。

ディスク容量が心配な場合は、大きなディスクを入手してください。または、小さな SSD を使用している場合は、ビルド後のプラグインをインストールし、ビルド後のステップから「git clean -fxd」を実行して、ワークスペースをクリーンアップします。

上記のいずれもうまくいかない場合は、待つしかありません。部分的な git チェックアウトのサポートは、将来的に改善される可能性があります。または、Subversion やその他の非分散バージョン管理システムを使用することもできます。ほとんどすべての分散システムは、完全な履歴を利用できることに依存しています。

于 2012-04-27T21:08:43.523 に答える