Xcode サーバは、ソースコードのリポジトリに含まれるプロジェクトで動作します。Xcode サーバは、2つの人気あるソース管理システムをサポートしています:Git と Subversion です。ボットは、リモートサーバーでホストされている Git と、Subversion リポジトリに接続されており、OS X サーバでホストされ設定されているレポジトリに接続することができます。
まだ Xcode サーバを設定していない場合は、OS X サーバのインストールおよび Xcode サーバの設定 を参照してください。
リポジトリの認証オプション
Xcode のボットは、SSH (セキュアシェル) または HTTPS (ハイパーテキスト転送プロトコルセキュア) の上の Git と Subversion プロジェクトにアクセスできます。一般的に、SSH は Git のプロジェクトのための好適なプロトコルであり、HTTPS は、Subversion のプロジェクトのために推奨されます。
SSH について
SSHは、資格情報と契約を暗号化し、それは常に HTTPS よりも一般的に簡単で、安全であり、SSL (Secure Sockets Layer) 証明書を必要としないためです。それは良く、安全な選択であり、あなたの組織が認証に SSH キーを使用する場合に特に便利です。ただし、SSH は、ネットワーク環境全体で HTTPS などのようにいつも容易に利用可能ではありません。
SSH 経由でアクセスするリポジトリは、次の方法で認証することができます。
- SSH ユーザー名とパスワード: 有意なセットアップがホストマシン上で必要とされないので、これは、組織が維持する全てのホストされているリポジトリのために良い選択です。あなたの SSH を有効にし、適切なユーザーが接続するために認証されることを確認してください。あなたのボットを設定するときに、資格情報を提供し、これらのユーザ名とパスワードは、サーバー·マシン上の安全なキーチェーンに保存されます。資格情報は共有されないので、同じリポジトリを使用するすべてのボットは、独自の資格情報のセットを格納します。
- SSH キー: RSA (暗号化のポピュラーなタイプ) キーも SSH 経由でホストされたリモートリポジトリに接続するために使用できます。サードパーティのリポジトリ・ホストソリューションでは、これは多くの場合、接続する時の最善かつ最も安全な方法です。多くのホステト・ソリューションは、公開鍵をコピーして新しいキーで接続できるようにするためにそれらのウェブサイトでアカウント設定のフィールドにペーストることができます。
ボットがプロジェクトをクローンしまたはチェックすると、認証の "キーボードインタラクティブ" メソッドを使用して、ホストされたリポジトリに認証され、リモートマシンからのログイン・プロンプトに応答します。ユーザ名が、リポジトリの URL に埋め込まれている場合には、それをボットを促すよりも、常に使用されます。
可能な限り、各ボットのユニークな鍵ペアを生成し、リモートリポジトリにその公開鍵をコピーするのが最適です。これは、ボットの資格情報が、独立して追跡することができるようにします。支援するために、ボットのセットアップ中に Xcode はユニークなキーを生成できます。このシナリオでは、Xcode は秘密のパスフレーズで 2048 ビットの RSA 鍵ペアを生成し、ボットがリポジトリをチェックアウトしたりクローンするたびにその組み合わせを使用しています。代わりに、Xcode はまた、ローカルマシンからまたは手動で入力されたキーから既存のキーを使用できます。デフォルトでは、Xcode は既存のキーは、~/.ssh/id_rsa にインストールすることをお勧めします。この推奨は、手動で適切なフィールドに新しい鍵をペーストし、あなたのパスフレーズを提供することによって上書きすることができます。
HTTPS について
HTTPS のプロトコルは設定が非常に簡単であり、ほとんどのネットワーク環境で動作するため、これは、ある程度の柔軟性を提供しています。HTTPS を使用すると、お使いの認証資格情報および取引は暗号化され、公共の認証局によって署名された有効な証明書が必要です。サーバの SSL 証明書を持っている場合は、HTTPS は良い、安全な選択です。しかし、Web サーバはそれを使用するため実行している必要があるため、それは SSH よりもわずかに多くの設定を必要とします。
HTTPS 経由でアクセスしたリポジトリは、以下の方法で認証することができます。
- 誰でも(Anonymous):SSH とは異なり、HTTPS は、安全な (SSL を使用している場合) トランスポートを認証なしでサポートしています。ボットを作成するときにはこれらのリポジトリは追加の設定を必要としません。
- ユーザー名とパスワード:ボットは、また、ユーザ名とパスワードを要求して、基本的な HTTP の認証要求に応答するように構成することができます。リポジトリからプロジェクトをくろーんしたりチェックしたりすると、リポジトリの URL に埋め込まれている全てのユーザー名やパスワードが認証するために使用されます。
読むことを推奨されるもの
SSH と HTTPS の詳細については、次のリソースを参照してください。
開発用の Mac からリモートリポジトリに接続する
リモートサーバー上に Git や Subversion リポジトリを使用しているプロジェクトがある場合は、開発用の Mac 上の Xcode での[Account(アカウント)] 設定でそれらの資格情報を格納できます。そうすれば、リポジトリにアクセスするたびに、資格情報を再入力する必要はありません。Xcode サーバーが、プロジェクトの統合を実行するためには、それはまた、そのソースコードリポジトリへのアクセス権を持っている必要があります。継続的統合を実行するために bot を設定 で説明したように、ボットを設定するときにこれらの資格情報を提供します。
開発用 Mac にリモートリポジトリの資格情報を追加するには
- 開発用 Mac 上で [Xcode] > [Preferences(環境設定)]を選択します。
- [Accounts(アカウント)] をクリックします。
- 追加ボタン(+)をクリックして、[Add Repository(リポジトリの追加)] を選択します。
- テキストフィールドに、リポジトリの URL(例えば、svn+ssh://svn.example.com/ProjectName または https://example.com/git/respository.git)を入力し、[Next(次へ)] ボタンをクリックします。
- [Account(アカウント)] 設定の[Repository(リポジトリ)] ペインでユーザー名とパスワードを入力します。
Xcode サーバで Git リポジトリをホストする
あなたのリポジトリが、リモートサーバー上でホストされていない場合は、Git リポジトリを作成し、共有するため OS X サーバと Xcode サーバを使用できます。あなたが開発者チームで作業している場合、彼らはまた、共同作業を強め、共有し、これらのリポジトリでのコード変更を管理できます。
ホストされているソースコードリポジトリを作成して、チームのメンバーがアクセスできるようにするには、OS X サーバと Xcode サーバを設定して下さい。
Xcode サーバーでリポジトリのアクセス権を設定するには
- サーバーアプリのサイドバーで[Service(サービス)] の一覧で、Xcode を選択します。
- リポジトリをクリックすると、このペインのようなものが表示されます:
- アクセスの下で、ホストされたリポジトリにアクセスするために使用されるプロトコルを設定するため、[Edit(編集)] ボタンをクリックします。
- [Repository(リポジトリ)] ペインのアクセス領域で、ホストされたリポジトリを作成できるユーザーを選択するため、[Edit(編集)]ボタンをクリックします。
- 、開発用 Mac の Xcode でのアカウント設定で、サーバの アカウントの資格情報を追加 します。(まだ行っていない場合)
デフォルトでは、HTTPS が選択されています。
また、SSH も選択することができます。SSH を選択した場合は、Xcode サーバは、SSH を使ってリモートログインを許可するかどうかを尋ねるダイアログが表示されます。[Allow(許可)] をクリックします。
あなたが HTTPS アクセスを許可する場合は、ホストされたリポジトリにアクセスするため誰もが HTTPS を使用すると Xcode で、証明書のダイアログが表示されます。開発用の Mac からリポジトリにアクセスするには、[Certificate(証明書)] ダイアログが表示されたら、[Show Certificate(証明書を表示)] をクリックして、[Always Trust(常に信頼)] オプションを選択して、[Continue(続行)] をクリックします。
あなたが開発者チームで作業する場合、彼らに (チームメンバーのため Xcode のサーバを設定 に記載されています) サーバ上のリポジトリにアクセスするためのアカウントを与えられます。
開発用の Mac からサーバーにローカルリポジトリのクローンを作成
開発用 Mac にローカル Git リポジトリを使用する場合は、それによってあなたのボットが、リポジトリを操作できるように、Xcode サーバをを実行しているサーバへのリポジトリをクローンする必要があります。
サーバを実行中の Xcode サーバにローカルリポジトリをクローンするには
- 開発用 Mac の上で、プロジェクトを開き、[Source Control(ソース管理)] > [ProjectName-BranchName(プロジェクト名ー分岐名)] > [Configure ProjectName(プロジェクト名構成)] を選択します。
- [Remote(リモート)] をクリックします。
- 追加ボタン(+)をクリックします。
- [Create New Remote(新しいリモート作成)] を選択します。
- Xcode サーバを実行している OS X サーバを選択します。
- リモートリポジトリの名前を入力します。
- [Create(作成)] をクリックします。
- [Done(完了)] をクリックします。
あなたがリポジトリを識別するのに役立つ任意の名前を使用してください。このリポジトリを選択する必要がある場合、この名前は、開発用 Mac のリモート一覧に表示されます。例えば、[プッシュ] を選択するか、[Source Control(ソース管理)] メニューから [Commit(コミットする)] どちらかを選べば、名前は、リモートリポジトリを指定することができるポップアップメニューに表示されます。
クローンされたリポジトリは、OS X サーバの Xcode サーバのリポジトリのリストに表示されます。
ローカルリポジトリがサーバにコピーされます。
開発者チームと作業する場合は、「チームメンバーのため Xcode のサービスを設定」で説明したように、彼らにリポジトリを共有するために、サーバ上にアカウントを与えることができるます。
プロジェクトを作成し、サーバ上のリポジトリをホスト
- 開発用 Mac 上の Xcode の[Accounts(アカウント)] 設定で、サーバーのアカウントの資格情報を追加します(まだ行っていない場合)。
- [File(ファイル)] > [New(新規)] > [Project(プロジェクト)]を選択します。
- プロジェクトのテンプレートを選択し、[Next(次へ)] をクリックします。
- プロジェクトのオプションを指定し、[次へ]をクリックします。
- プロジェクトのローカルの作業コピーの場所を指定します。
- [Source Control(ソース管理)] オプションでは、"Create git repository on(git リポジトリをオンに作成)" を選択します。
- リポジトリをホストするサーバを選択するように、ポップアップメニューを使用します。
- [作成]をクリックします。
開発用 Mac でプロジェクトを作成するときは、同時にサーバ上に直接リポジトリを作成することができます。
Xcode サービスを実行中の OS X サーバの Git リポジトリを使用してプロジェクトを作成するには
デフォルトでは、Xcode サーバでは、ホストされたリポジトリはログインユーザーが作成することを許可します。Xcode で、[アカウント] 設定でサーバーのアカウントの資格情報を追加すると、サーバ上の Git リポジトリを作成するときに自動的にログインできるようになります。
サーバがリストに表示されない場合は、Xcode サーバの [リポジトリ] ペインに、リポジトリを作成する権限を持っているかどうかを確認するように見るか、サーバー管理者に問い合わせてください。Xcode サーバが設定されている方法により、ホストされたリポジトリは、ログインしたユーザーが誰でも、または指定したユーザーが作成することができます。
OS X サーバ上で、プロジェクトの名前は、Xcode サーバの[ホストされたリポジトリ] リストに表示されます。開発者チームと作業する場合、彼らにあなたのリポジトリを共有するためにアカウントを与えることができます。("チームメンバーのため Xcode のサービスを設定" で説明したように)
Xcode サーバ上で Git リポジトリを作成し、開発用 Mac からアクセス
また、Xcode サーバを実行している OS X サーバの共有可能な Git リポジトリを直接作成することができます。あなたのチームメンバーは、これらのリポジトリにプロジェクトやボットを指すことができます。
Xcode サーバを実行しているサーバ上で新しい Git リポジトリをホストするには
- サーバアプリのサイドバーの [Service(サービス)] 一覧で、Xcode を選択します。
- [Repository(リポジトリ)] をクリックしてください。
- [追加] ボタン(+)をクリックします。
- リポジトリの名前を入力します。
- SSH 経由でリポジトリにアクセスできるユーザーを識別するために、[編集]ボタンをクリックします。
- HTTPS アクセスを有効にしたい場合は、"ログインしたユーザの読み書きを許可" チェックボックスを選択します。
- [作成]をクリックします。
リポジトリを識別するのに役立つ任意の名前を使用してください。この名前は、サーバアプリの Xcode サーバ設定の[ホストされたリポジトリ]の一覧に表示され、アクセス URL の一部になります。
ローカルサーバまたはディレクトリにログインできるすべてのユーザーにアクセスを与えるために "ログインユーザー" を選択します。
ローカルサーバ上またはディレクトリ内のユーザーのアクセスリストを設定するには、"一部のユーザーのみ" を選択します。読むことができるか、誰が読め、リポジトリに読み書きできるのが誰かを選択できます。
新しいリポジトリは[ホストされたリポジトリ] の一覧に表示されます。後でユーザーのアクセス権限を変更したい場合は、[ホストされたリポジトリ] のリストからリポジトリを選択し、[編集]ボタンをクリックして下さい。
その開発用 Mac 上の Xcode の[アカウント] 環境設定を使用して、その Mac にこのリポジトリの資格情報を追加することができます。開発者チームと作業する場合は、"チームメンバーのため Xcode のサービスを設定" で説明したように、彼らに、リポジトリを共有するために、サーバ上にアカウントを与えることができます。
ローカルの開発用 Mac 上に既存の Git リポジトリがある場合は、Xcode サーバを実行中の OS X サーバ内のリポジトリに接続することができます。
この方法では、コミットした後、サーバーに変更をプッシュすることができます。
開発用 Mac 上のプロジェクトに OS X サーバと Xcode サーバによってホストされた Git リポジトリを追加するには
- 開発用 Mac でプロジェクトを開き、[Source Control(ソース管理)] > [プロジェクト名-分岐名] > [プロジェクト名設定] を選択します。
- [Remote(リモート)]をクリックします。
- [追加]ボタン(+)をクリックします。
- [リモート追加] を選択します。
- リモートリポジトリの名前とアドレスを入力してください。
- [Add Remote(リモートの追加)] をクリックします。
- [Done(完了)] をクリックします。
Xcode サーバ内のリポジトリの一覧にリモートリポジトリのアドレスを見つけることができます。
サーバでホストされたリポジトリにコミットをプッシュ
サーバ上に Git リポジトリを使用できるように開発用 Mac を設定した後、コミット操作はローカルリポジトリに変更を加えます。全てのリモート Git リポジトリと同じように、サーバ上のリポジトリにコミットされた変更を加えるには、プッシュ操作を実行する必要があります。例えば、[Source Control(ソース管理)] > [Commit on your development Mac(開発用 Mac でのコミット)] を選択した場合、オプションの [Push to Remote(リモートへプッシュ)] を選択し、ポップアップメニューでリモートリポジトリを指定して、[Commit Files and Push(ファイルをコミットしプッシュ)] をクリックします。
既存の Xcode プロジェクトに Git のサポートを追加
Xcode のワークスペースやプロジェクトを作成するときは、生成されたワークスペースのディレクトリに Git リポジトリを含むオプションがあります。そのオプションを選択しなかった場合は、ワークスペースのディレクトリは Git リポジトリを含まず、プロジェクイトは Xcode サーバと一緒に使えません。この問題を解決するには、手動でワークスペースディレクトリ内の Git リポジトリを初期化して下さい。
プロジェクトディレクトリ内で Git レポジトリを手動で初期化するには
- ターミナルアプリ内で、ワークスペースのディレクトリ内で git init コマンドを実行します。
- cd <workspace_directory_path>
- git init
- 必要に応じて、.gitignore ファイルを作成し、リポジトリから省略したい全てのファイルを追加します。
- cat > .gitignore
- <files_to_ignore>
- ^D # Control-D
- git add のコマンドでレポジトリ内で追跡したいファイルを指定します。
git add <files>
- git commit のコマンドで、リポジトリにファイルを追加します。
git commit -m "<workspace_directory> initial commit"
例えば、以下のコマンドは、(一部を除き)追跡されるディレクトリ内のファイルを識別し、新しく作成されたリポジトリにファイルを追加し、[スケッチ]ワークスペース·ディレクトリーの中の Git リポジトリを初期化します。
- hedy: Desktop $ cd Sketch
- hedy: Sketch $ git init
- Initialized empty Git repository in /Users/ernest/Desktop/Sketch/.git/
- hedy: Sketch $ cat > .gitignore
- .DS_Store
- xcuserdata
- ^D # Control-D
- hedy: Sketch $ git add .
- hedy: Sketch $ git commit -m "Sketch initial commit"
- [master (root-commit) db941e7] Sketch initial commit
- 73 files changed, 13157 insertions(+)
- create mode 100644 .gitignore
- create mode 100644 Arrow.tiff
- create mode 100644 Circle.tiff
- ...
サーバに開発用 Mac からローカルリポジトリをクローン で説明したように、Xcode サービスが、リポジトリを操作できるように、リポジトリをクローンします。
前:OS X サーバのインストールおよび Xcode サーバの設定
次:継続的統合を実行するために ボットを設定
Xcode 11 の新機能
XCode:継続的統合
Xcode サーバを設定<
チームメンバーのため Xcode サーバを設定
Xcode サーバにアクセスするように開発用の Mac を設定
HTTPS について
読むことを推奨されるもの
開発用の Mac からリモートリポジトリに接続する
プロジェクトを作成し、サーバ上のリポジトリをホスト
Xcode サーバ上で Git リポジトリを作成し、開発用 Macからアクセス
サーバーでホストされたリポジトリにコミットをプッシュ
既存の Xcode プロジェクトに Git のサポートを追加
統合の実行のためボットを作成する
ベストプラクティスに従う
ボットビューアで ボットの監視と管理
統合ビューアでの統合の詳細レビュー
ボットの Web サイトからボットを監視
ボットの Web サイトからXcode のボットを開く
ボットのウェブサイトから統合アセットをダウンロード
ボットの Web サイトから iOS のプロダクトをインストール
大画面でボットを表示
マニュアル改訂履歴
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ
トップへ