web-dev-qa-db-ja.com

マルチ開発者のiOS環境をセットアップする方法は?

私の必要性を説明しましょう:

フルタイムで稼働するサーバーに3台のコンピューターが接続されたネットワーク環境を持っています。サーバーはFTPサーバーも実行します。 3人の開発者が同じプロジェクトに取り組める環境を作りたい。

たとえば、CRMアプリを作成している場合、プロジェクトをモジュールに分割して、開発者Aが認証に取り組み、開発者Bがデータの保存/取得に取り組むように、各モジュールが各モジュールで機能するようにします開発者Cはユーザーインターフェイスプログラミングに取り組んでいます。

私がリビジョン管理を使用している場合、誰でもそれを設定する方法を案内できますか?

アプリ全体の開発は実行できますか同時に開発者のそれぞれが異なる領域で作業するため、

このようなタイプのmulti-developer iOS環境を作成するにはどうすればよいですか?

5

標準的なサウンド 継続的インテグレーション セットアップ

継続的な統合環境を作成して、開発者が互いに独立して作業できるようにしながら、定期的に(数時間ごとに)作業をマージし、最終的な結果をiOSデバイスにプッシュして、現在のリリース標準。

バージョン管理システムのセットアップ

まず、バージョン管理システムをセットアップします。開発者にどちらを好むかを尋ねますが、最も有力な候補はSubversion、Mercurial、またはGitです。最後の2つは分散バージョン管理を提供するため、開発者はどこでも(メインバージョン管理サーバーからオフラインの場合でも)作業できます。最初の(SVN)では、バージョン管理サーバーがチェックインに使用できる必要があります。これは通常、オフィスにいる場合です。 Xcodeの現在のバージョンはSubversionをネイティブでサポートしていますが、gitには Versions クライアントと Git Tower もあります。

上記のいずれかを設定することに関してブログは不足していないので、選択して開始してください。個人的には、 Mercurialは簡単です ですが、走行距離は異なる場合があります。

Hudsonのセットアップ

Hudsonは、非常に単純な継続的統合ビルドサーバーです。 (JenkinsはHudsonの直接の後継プロジェクトであり、代わりにJenkinsを使用してこのアプローチを適用することができます)。

Hudson for iOS builds をセットアップして、次のようなビルドターゲットを指定します。

xcodebuild -project Myproj.xcodeproj -target MyProj -configuration Debug

バージョン管理システムへのすべての変更に基づいて構築するようにHudson/Jenkinsを構成します。

その後、全体的なプロセスは

  1. 開発者Aがコードを記述し、ローカルでテストしてチェックインする
  2. 開発者Bは同時にいくつかのコードを記述し、それをチェックインします
  3. ソース管理は変更を最新バージョンに対してマージします
  4. Hudsonは現在の最新バージョンをチェックアウトしてビルドを試みます
  5. ビルドが失敗した場合、すべての開発者に、何が原因で失敗したかを記載したメールが届きます
  6. 開発者は統合の問題を修正するために取り組みます
  7. アプリケーションがリリースされるまですすぎ、繰り返します
  8. アプリケーションがターゲットiOSデバイスで動作することを確認し、失敗した場合はバグとしてプッシュバックします
2
Gary Rowe

他のマルチ開発ソフトウェアプロジェクトとまったく同じです。

サーバーは、バージョン管理ソフトウェアを実行し、マージされた開発プロジェクトが格納されます。

クライアントでは、SVNがXcode 3に統合されており、次のバージョンのXcodeもGitを統合しているため、他のオプションよりもいくらか簡単ですが、GitやMercurialなどのクライアントを個別に実行することもできます。

誰かがクライアントシステムの1つで初期プロジェクトを作成し、それをサーバーにチェックインします。次に、他の開発者が各自のマシンのコピーを複製します。彼らはコードを書き、自分のシステムでビルドとデバッグを行います。定期的に(少なくとも毎日、理想的には)開発者は変更をチェックインし、プロジェクト全体をビルドして実行し、他の開発者から変更をダウンロードします。

ある時点で、それを完了したと呼びます。 :)

0