Hudsonを使用して以前のプロジェクトとの継続的インテグレーションを行った後、現在取り組んでいるiPhoneプロジェクト用の継続的インテグレーションサーバーをセットアップしたいと思います。いくつかの調査を行った後、Xcode用に特別に設計されたCIエンジンはないようですが、1人の男が成功しました Cruise Controlとxcodebuild CLIツールを組み合わせて使用 。ここで誰かがこれを試しましたか? Xcodeプロジェクトでうまく機能するCIエンジンはありますか?
私はおそらくクルーズコントロールを試してみるつもりです。私の調査結果とともに回答を投稿します。
MacでHudsonをxcodebuildとともに正常に使用しています。 3.0 iPhone SDKのリリースにより、プロジェクトのビルド対象となるターゲット、構成、およびSDKを完全に制御できるようになります。
これは、hudsonでビルドステップを作成し、xcodebuildにプロジェクトをビルドするように指示するのと同じくらい簡単です。
xcodebuild -target "myAppAppStore" -configuration "DistributionAppStore" -sdk iphoneos2.1
私のビルドは何も考えなくても機能するので、事前の作業は私に報われました。興味があれば、ブログに詳細な説明を書いています。
このスレッドを復活させます。ビルドサーバーでユニットテストを使用して自動化されたXCodeビルドを取得するための十分な解決策が見つからなかったため、調査とコーディングを行いました。結果は this blog post すべてを説明し、 this Ruby script は、OCUnit出力をxcodebuildからJUnitが使用するXML形式に変換しますテストレポート。私が選んだビルドサーバーは Hudson でした。
2012年3月2日更新:ビルドと実行にいくつかのカスタムシェルスクリプトを使用するように更新しました。利用可能 こちら 。継続的インテグレーションだけでなく、自分のマシンのコマンドラインからの構築にも適しています。
AppleがOSX Mavericks(OS X 10.9)の新しいリリース(2013年6月10日)をリリースしました。これは、これまでに見た中で最も統合された継続的統合ソリューションである新しい継続的統合プラットフォームです。これはdeveloper.Apple.comから入手できます。このページの詳細は次のとおりです。
このトピックについては、wwdc 2013のプレゼンテーションをご覧になることをお勧めします。
Adiumは buildbot をXcodeで非常に効果的に使用しています。適切なターゲットと構成でxcodebuildを呼び出す簡単なmakefileを作成しましたが、それがオプションであることは確かです。
私はXcodeでCruiseControlを使用し(Pragmatic Automationが提案したものと同様)、妥当な成功を収めました。私はCruiseControlにも非常に精通しており、それは比較的恐ろしい構成フォーマットのセットアップです。
私はBuildBotも効果的に使用しましたが、その長所は私のニーズ(複数の異なるシステムにまたがる分散スレーブの構築とレポート)に実際には一致しないことがわかりました。ビルドボットのセットアップを構成すること自体は、難しいことではありませんが、それ自体が芸術である可能性があります。基本的には、すべてpythonでスクリプトを記述しています。
Hudsonが利用可能になったので、継続的インテグレーションを実行するための手段としてお勧めします。 Webベースのインターフェース(私の頭の中でのCruiseControlの主な欠点)があり、サポートするさまざまなシステムで非常に柔軟です。コマンドライン主導のビルドを非常に簡単かつ非常に明白に呼び出すことができます。とは言っても、他のシステムで使用しているHudsonとXcodeを使用してインスタンスを設定していないので、これは部分的に推測です。
Hudsonはまだ使用できるはずです。 Hudsonは非常に柔軟で、ビルドにシェルスクリプトを使用することもできます。 シェルスクリプトとWindowsバッチコマンド
そこにxcodebuildと入力してください。 xcodebuildのオプションを確認するには、xcodebuildのmanページをご覧ください。
あなたが最先端に住んでいることを気にしなければ、私は xcode builder をCruiseControlにコミットしました。
ジェンキンスは一部の人にとってうまくいくようです。 (ただし、これまでにCIサーバーを使用したことはありません。)
ジェンキンスは正常に動作します。独自のシェルスクリプトを作成してxcodeプロジェクトをビルドし、Jenkinsに実行させるか、xcodeプラグインを使用することもできます。
しかし、権限の問題に注意する必要があります。 Jenkins構成を少し調整するだけで、CIサーバーを非常に短時間で管理できるようになります。