私のチームは現在、buildbotを使用して、夜間および継続的インテグレーション ビルドと回帰テストを自動化しています。ビルドと単体テストの場合、ビルダーは p4 からソースを同期して実行するスクリプトを呼び出すだけxcodebuild
です。リグレッション テストもシェル スクリプトによって開始され、それ自体がシェル スクリプトと AppleScript の組み合わせです。ビルドはすべて 1 つのシステムで実行されますが、buildbot は、アーキテクチャと OS の組み合わせが異なる複数の Mac でテストをトリガーします。buildbot について私が気に入っているのは、自動トリガー (ビルドが成功した場合にのみテストが実行されるため) と、全体的なステータスを確認するためのウォーターフォール ビューを含むレポートです。
しかし、私は多くの問題も見ています。ビルドを調整する「マスター」プロセスは、リークが多いか、巨大なワーキング セットを持っているため、数ギガバイトのメモリを消費します。ネットワークの問題によって、スレーブが失われることがあります。後で再試行するのではなく、ビルドが失敗するだけです。実際、従属ビルドのためにスレーブがトリガーされることになっている場合、それ以外の場合は正常に完了した後、スレーブは最初のビルドに失敗します。
では、Xcode のビルドと単体テストを自動化するために、他に何を使用していますか? それらのソリューションはどのように機能しますか? 何かお勧めはありますか?