翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CodeCommit、AWS CodePipeline、AWS Device Farm を使用して iOS アプリを構築してテストする
作成者:Abdullahi Olaoye (AWS)
概要
注意: AWS CodeCommit は新規顧客には利用できなくなりました。の既存のお客様は、通常どおりサービスを AWS CodeCommit 引き続き使用できます。詳細はこちら
このパターンでは、AWS CodePipeline を使用して AWS 上の実際のデバイスで iOS アプリケーションを構築してテストする、継続的インテグレーションと継続的デリバリー (CI/CD) パイプラインを作成する手順の概要を示しています。このパターンでは、AWS CodeCommit を使用してアプリケーションコードを保存し、Jenkins のオープンソースツールを使用して iOS アプリケーションを構築し、AWS Device Farm を使用して構築したアプリケーションを実際のデバイス上でテストします。これらの 3 つのフェーズは、AWS CodePipeline を使用してパイプラインにまとめてオーケストレーションされます。
このパターンは、AWS DevOps ブログの「AWS DevOps とモバイルサービスを使用した iOS および iPadOS アプリの構築とテスト
前提条件と制限
前提条件
機能制限
アプリケーションビルドサーバーは macOS を実行していることが必要です。
CodePipeline が構築を開始するためにリモートで接続できるように、ビルドサーバーにはパブリック IP アドレスが必要です。
アーキテクチャ
ソーステクノロジースタック
シミュレータを使用するか、物理デバイス上で手動テストを行うオンプレミスの iOS アプリケーション構築プロセス
ターゲットテクノロジースタック
アプリケーションのソースコードを保存するための AWS CodeCommit リポジトリ
Xcode を使用してアプリケーションを構築するための Jenkins サーバー
実際のデバイスでアプリケーションをテストするための AWS Device Farm デバイスプール
ターゲット アーキテクチャ
ユーザーがソースリポジトリに変更をコミットすると、パイプライン (AWS CodePipeline) はソースリポジトリからコードを取得し、Jenkins ビルドを開始して、アプリケーションコードを Jenkins に渡します。ビルドの完了後、パイプラインはビルドアーティファクトを取得し、AWS Device Farm ジョブを開始してデバイスプールに対してアプリケーションをテストします。

ツール
AWS CodePipeline は、完全マネージド型の継続的デリバリーサービスであり、リリースパイプラインを自動化して、アプリケーションとインフラストラクチャを迅速かつ確実に更新できるようにします。CodePipeline はお客様が定義したリリースモデルに基づき、コードチェンジがあった場合のフェーズの構築、テスト、およびデプロイを自動化します。
AWS CodeCommit は、セキュアな Git ベースのリポジトリをホストするフルマネージド型のソース管理サービスです。これにより、セキュアで拡張性の高いエコシステムで、チームによるコードの共同作業が簡単になります。CodeCommit を使用することにより、独自のソース管理システムを運用したり、そのインフラストラクチャをスケールしたりする必要がなくなります。
AWS Device Farm は、テストインフラストラクチャをプロビジョニングおよび管理することなく、幅広いデスクトップブラウザと実際のモバイルデバイスでテストすることで、ウェブおよびモバイルアプリの品質を向上させるアプリケーションテストサービスです。
Jenkins
は、デベロッパーがソフトウェアを確実に構築、テスト、デプロイできるようにするオープンソースのオートメーションサーバーです。
エピック
タスク | 説明 | 必要なスキル |
---|---|---|
macOS を実行しているビルドサーバーに Jenkins をインストールします。 | Jenkins を使用してアプリケーションを構築するので、最初に Jenkins をビルドサーバーにインストールする必要があります。このタスクとそれ以降のタスクの詳細な手順については、このパターンの最後にある関連リソースセクションの AWS ブログ記事「AWS DevOps とモバイルサービス、およびその他のリソースを使用した iOS および iPadOS アプリの構築とテスト | DevOps |
Jenkins を設定します。 | 画面上の指示に従って Jenkins を設定します。 | DevOps |
Jenkins 用の AWS CodePipeline プラグインをインストールします。 | Jenkins が AWS CodePipeline サービスとやり取りできるようにするには、このプラグインを Jenkins サーバーにインストールする必要があります。 | DevOps |
自由形式の Jenkins プロジェクトを作成します。 | Jenkins で、自由形式のプロジェクトを作成します。トリガーやその他のビルド設定オプションを指定するようにプロジェクトを設定します。 | DevOps |
タスク | 説明 | 必要なスキル |
---|---|---|
Device Farm プロジェクトを作成します。 | AWS Device Farm コンソールを開きます。テスト用のプロジェクトとデバイスプールを作成します。手順については、ブログ記事を参照してください。 | 開発者 |
タスク | 説明 | 必要なスキル |
---|---|---|
CodeCommit リポジトリを作成します。 | ソースコードを保存するリポジトリを作成します。 | DevOps |
アプリケーションコードをリポジトリにコミットします。 | 作成した CodeCommit リポジトにリコネクトします。 コードをローカルマシンからリポジトリにプッシュします。 | DevOps |
タスク | 説明 | 必要なスキル |
---|---|---|
AWS CodePipeline でパイプラインを作成します。 | AWS CodePipeline コンソールを使用してパイプラインを作成します。パイプラインは CI/CD プロセスのすべてのフェーズをオーケストレーションします。手順については、AWS ブログ記事「AWS DevOps とモバイルサービスを使用した iOS および iPadOS アプリの構築とテスト | DevOps |
パイプラインにテストステージを追加します。 | テストステージを追加して AWS Device Farm と統合するには、パイプラインを編集します。 | DevOps |
パイプラインを開始します。 | パイプラインと CI/CD プロセスを開始するには、変更のリリースを選択します。 | DevOps |
タスク | 説明 | 必要なスキル |
---|---|---|
テスト結果を確認します。 | AWS Device Farm コンソールで、作成したプロジェクトを選択し、テストの結果を確認します。コンソールには、各テストの詳細が表示されます。 | 開発者 |
関連リソース
このパターンのステップバイステップの説明
「AWS DevOps とモバイルサービスを使用した iOS および iPadOS アプリの構築とテスト
」(AWS DevOps ブログ記事)
AWS Device Farm を設定する
ソースリポジトリを設定する
「パイプラインを設定する」
追加リソース