2013-10-25 8 views
8

Xcode CI(http://www.apple.com/osx/server/features/#xcode-server)で新しいOS X Serverをインストールしました。Xcode Continuous Integrationサービスで浅いgitクローンを実行するにはどうすればよいですか?

は、私は私のプロジェクトのために成功裏にセットアップCIを持っていますが、メインのGitリポジトリのサブモジュールは、非常に大きな(それはバージョン管理されたイメージが含まれている、いないコード)です。

パフォーマンスとスペースに関する理由から、サブモジュールを取得するときに完全クローンではなく浅いクローンを使用したいと考えています。それを行うようにCIを設定する方法はありますか?

また、処理を高速化する別の方法がありますか?

答えて

0

Shallow submodules gitで問題が発生する可能性があります。問題はXcode CIです。

大きなバイナリイメージを格納するためにgitを使用することは、アンチパターンであるため、動作に最適な方法ではない場合があります。 Xcodeのために、理想的にはこの目的のためにgitを使用せず、ビルドプロセスが(rakeやgradleタスク、wget、curl、scpなどを介して)単一のイメージを取得するというCIへのスクリプトを作成するだけです。

https://github.com/projecthydra/hydra-jetty/blob/master/solr/lib/solr-analysis-extras-4.9.0.jar

CIがターゲットのための他の可能な状態の利用可能性に興味を持っていない:それは本当に画像の対象である場合は、おそらく、このjarファイルのように、それを参照する能力を持っています、または改訂履歴。それは単に依存関係を果たそうとしているだけです。

あなたはsubmoduleを使用しなければならない場合は、独自のスリム化の内部レポ目標を設定することができ、ちょうどあなたがしたい単一の状態を持っている[that_submodule] _currentと呼ばれます。それを吹き飛ばし、必要に応じて交換してください。

Xcodeにはdetached submodule head bugが含まれているので、--depthのような他のややエキゾチックなサブモジュールオプションを処理するまでには時間がかかることがあります。

+0

こんにちは、私たちはcocos2dリポジトリについて話しています。それはバイナリではなく、数千のコミットしかありません。 – x10

+0

バージョン管理された画像ではないのですか?数千のコミットがかなり一般的です。あなたが望むものは: 'git clone --depth 1 --branch master --single-branch ' しかし、 '--depth'ではXcodeが壊れています。 –

+0

はい、まさに私が欲しいものです。それが私が普通にやることです。私の質問は「xCodeサーバーをどうすればいいのですか?」ということです。 – x10

関連する問題