2016-05-26 4 views
0

私はXcodeサーバーと継続的な統合に取り組んでいます。私たちは本当に遅いビルド時間を経験しています。Xcodeサーバーの統合キャッシュの場所、RAMディスク、_xcsbuildd

私の最初の試みは、RAM DISKを使用してそこにビルドファイルを保存することです。私たちはSATAドライブを備えたMac miniを使用していますので、そのドライブをビルドプロセスの一部から削除することで、どれくらいの時間を節約できるかを試しています。

私はRAMディスクを作成しました: diskutil erasevolume HFS+ 'XcodeData' `hdiutil attach -nomount ram://8388608

私はラムディスクにDerivedDataの場所を設定しようとすることで始めたが、CIビルドデータを実行している場合は、そこに格納されていません。

すべてのCIのビルドデータは、/Library/Developer/Integrations/Cachesにあります。

私はシンボリックリンクln -s /XcodeData/IntegrationCaches/ /Library/Developer/Integrations/Cachesを試しましたが、CIの実行時にパーミッションエラーが発生します。

私はchmod 777 /XcodeData/IntegrationCaches/を試しましたが、まだ許可の問題があります。

また、私のramdiskフォルダをRAMディスクフォルダのchown _xcsbuildd IntegrationsCachesにchownしようとしました。

これまで運がなかったことはありません。

他に誰かがこのようなことをしたことがありますか?

+0

インテグレーションキャッシュフォルダの内容を確認する必要がある場合、Finderでインスペクタウィンドウを開き、そのユーザアカウントを読み書き可能な承認済みユーザのリストに追加します。 – bolnad

+0

@bolnadうん、それは私が考え出したものです。デフォルトでは、RAMディスクは所有権セットを無視しています。これは、そのボリュームのファインダ内の「情報を見る」ウィンドウでは無効にすることができます。ありがとう! – gngrwzrd

+0

うれしいことに、私はあなたがこれを知っていると確信していますが、それはあまりにも多くの時間、幸運を無駄にすることができる場所です! – bolnad

答えて

0

コメントに記載されている@bolnadのように、RAMディスクはデフォルトで所有権を無視していることが判明しました。そのボリュームのファインダーで「情報を見る」を選択し、「所有権を無視する」をオフにすると、chmodとツールを使用して必要な場合にユーザーを変更できます。