

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Device Farm と Jenkins CI サーバーの統合
<a name="continuous-integration-jenkins-plugin"></a>

Jenkins CI プラグインによって、独自の Jenkins 継続的インテグレーション (CI) サーバーから AWS Device Farm 機能が提供されます。詳細については、「[Jenkins (ソフトウェア)](https://en.wikipedia.org/wiki/Jenkins_%28software%29)」を参照してください。

**注記**  
Jenkins プラグインをダウンロードするには、[GitHub](https://github.com/awslabs/aws-device-farm-jenkins-plugin) にアクセスし、「[ステップ 1: AWS Device Farm 用の Jenkins CI プラグインをインストールするJenkins CI プラグインをインストールする](#jenkins-ci-installing-the-plugin)」の手順に従います。

このセクションには、AWS Device Farm で Jenkins CI プラグインをセットアップして使用する一連の手順が含まれます。

以下の画像は、Jenkins CI プラグインの機能を示しています。

![\[Jenkins CI Hello World アプリケーションとの統合\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/aws-device-farm-jenkins-plugin-continuous-integration-project-hello-world-app.png)


![\[Jenkins CI のビルド後のアクションとの統合\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/aws-device-farm-jenkins-plugin-continuous-integration-post-build-actions.png)


また、このプラグインではすべてのテストアーティファクト (ログ、スクリーンショットなど) をローカルにプルダウンすることもできます。

![\[Jenkins CI のテストアーティファクトとの統合\]](http://docs.aws.amazon.com/ja_jp/devicefarm/latest/developerguide/images/aws-device-farm-jenkins-plugin-continuous-integration-test-artifacts.png)


**Topics**
+ [依存関係](#jenkins-plugin-dependencies)
+ [ステップ 1: AWS Device Farm 用の Jenkins CI プラグインをインストールする](#jenkins-ci-installing-the-plugin)
+ [ステップ 2: AWS Device Farm 用の Jenkins CI プラグインの AWS Identity and Access Management ユーザーを作成する](#jenkins-ci-set-up-iam-user)
+ [ステップ 3: AWS Device Farm で Jenkins CI プラグインを初めて設定する](#jenkins-ci-first-time-configuration-instructions)
+ [ステップ 4: Jenkins ジョブでのプラグインの使用](#jenkins-ci-using-plugin-jenkins-job)

## 依存関係
<a name="jenkins-plugin-dependencies"></a>

Jenkins CI プラグインには AWS Mobile SDK 1.10.5 以降が必要です。SDK の詳細とインストールについては、「[AWS Mobile SDK](https://aws.amazon.com/mobile/sdk/)」を参照してください。

## ステップ 1: AWS Device Farm 用の Jenkins CI プラグインをインストールする
<a name="jenkins-ci-installing-the-plugin"></a>

AWS Device Farm の Jenkins 継続的インテグレーション (CI) プラグインをインストールするには 2 つのオプションがあります。Jenkins ウェブ UI の「**使用できるプラグイン**」ダイアログ内からプラグインを検索するか、`hpi` ファイルをダウンロードして Jenkins 内からインストールできます。

### Jenkins UI 内からインストールする
<a name="installing-jenkins-from-within-ui"></a>

1. **[Jenkins を管理]**、**[プラグインを管理]** を選択し、次に **[使用可能]** を選択して Jenkins UI 内でプラグインを見つけます。

1. **aws-device-farm** を検索します。

1. AWS Device Farm プラグインをインストールします。

1. プラグインが `Jenkins` ユーザーに所有されていることを確認します。

1. Jenkins を再起動します。

### プラグインをダウンロードする
<a name="installing-jenkins-manual-install"></a>

1. `hpi` ファイルを直接 [http://updates.jenkins-ci.org/latest/aws-device-farm.hpi](http://updates.jenkins-ci.org/latest/aws-device-farm.hpi) からダウンロードします。

1. プラグインが `Jenkins` ユーザーに所有されていることを確認します。

1. 次のいずれかのオプションを使用して、プラグインをインストールします:
   + **[Jenkins を管理]**、**[プラグインを管理]**、**[詳細]**、**[プラグインをアップロード]** の順に選択してプラグインをアップロードします。
   + `hpi` ファイルを Jenkins プラグインディレクトリ (通常は `/var/lib/jenkins/plugins`) に配置します。

1. Jenkins を再起動します。

## ステップ 2: AWS Device Farm 用の Jenkins CI プラグインの AWS Identity and Access Management ユーザーを作成する
<a name="jenkins-ci-set-up-iam-user"></a>

Device Farm へのアクセスに AWS ルートアカウントを使用しないことをお勧めします。代わりに、アカウントに AWS 新しい AWS Identity and Access Management (IAM) ユーザーを作成し (または既存の IAM ユーザーを使用）、その IAM ユーザーで Device Farm にアクセスします。

新しい IAM ユーザーを作成するには、「[IAM ユーザーの作成 (AWS マネジメントコンソール)](https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_SettingUpUser.html#Using_CreateUser_console)」を参照してください。各ユーザーのアクセスキーを生成していることを確認し、ユーザーのセキュリティ認証情報をダウンロードまたは保存します。認証情報は後で必要になります。

### IAM ユーザーに Device Farm へアクセスする権限を付与します。
<a name="jenkins-ci-setting-up-permissions"></a>

IAM ユーザーに Device Farm へアクセスする権限を付与するには、IAM で新規アクセスポリシーを作成し、そのアクセスポリシーを次のように IAM ユーザーに割り当てます。

**注記**  
次の手順を完了するために使用する AWS ルートアカウントまたは IAM ユーザーには、次の IAM ポリシーを作成し、IAM ユーザーにアタッチするアクセス許可が必要です。詳細については、「[ポリシーによる作業](https://docs.aws.amazon.com/IAM/latest/UserGuide/policies_manage.html)」を参照してください。

**IAM でアクセスポリシーを作成するには**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. **[ポリシー]** を選択します。

1. **[ポリシーを作成]** を選択します。(**開始する]** ボタンが表示された場合は、そのボタンを選択してから、**[ポリシーを作成]** を選択します)。

1. **[独自のポリシーを作成]** の横で、**[選択]** を選択します。

1. **[ポリシー名]** に、ポリシーの名前 (**AWSDeviceFarmAccessPolicy** など) を入力します。

1. **[説明]** に、この IAM ユーザーを Jenkins プロジェクトに関連付けるための説明を入力します。

1. **[ポリシードキュメント]** に、次のステートメントを入力します:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "DeviceFarmAll",
               "Effect": "Allow",
               "Action": [ "devicefarm:*" ],
               "Resource": [ "*" ]
           }
       ]
   }
   ```

------

1. **[ポリシーを作成]** を選択します。

**アクセスポリシーを IAM ユーザーに割り当てるには**

1. IAM コンソール ([https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)) を開きます。

1. **[ユーザー]** を選択します。

1. アクセスポリシーを割り当てる IAM ユーザーを選択します。

1. **[権限]** エリアの **[管理ポリシー]** で、**[ポリシーをアタッチ]** を選択します。

1. 先ほど作成したポリシーを選択します (例: **AWSDeviceFarmAccessPolicy**)。

1. ［**ポリシーをアタッチ**] を選択します。

## ステップ 3: AWS Device Farm で Jenkins CI プラグインを初めて設定する
<a name="jenkins-ci-first-time-configuration-instructions"></a>

Jenkins サーバーを初めて実行するときは、次のようにシステムを設定する必要があります。

**注記**  
 [デバイススロット](how-to-purchase-device-slots.md)を使用している場合、デバイススロット機能はデフォルトで無効になっています。

1. Jenkins のウェブユーザーインターフェイスにログインします。

1. 画面の左側で、[**Manage Jenkins**] (Jenkins を管理) を選択します。

1. [**Configure System**] (システムを設定) を選択します。

1. [**AWS Device Farm**] ヘッダーまで下にスクロールします。

1. [Jenkins CI プラグインのための IAM ユーザーを作成する](#jenkins-ci-set-up-iam-user) からセキュリティ認証情報をコピーして、アクセスキー ID とシークレットアクセスキーをそれぞれのボックスに貼り付けます。

1. **[保存]** を選択します。

## ステップ 4: Jenkins ジョブでのプラグインの使用
<a name="jenkins-ci-using-plugin-jenkins-job"></a>

Jenkins プラグインのインストールが完了したら、次の手順に従って、Jenkins ジョブでプラグインを使用します。

1. Jenkins のウェブ UI にログインします。

1. 編集するジョブをクリックします。

1. 画面の左側にある **[構成]** を選択します。

1. **[ビルド後アクション]** ヘッダーまでスクロールダウンします。

1. **[ビルド後アクションを追加]** をクリックして **[AWS Device Farm でテストを実行]** を選択します。

1. 使用するプロジェクトを選択します。

1. 使用するデバイスプールを選択します。

1. テストアーティファクト (ログやスクリーンショットなど) をローカルでアーカイブするかどうかを選択します。

1. **[アプリケーション]** で、コンパイルされたアプリケーションへのパスを入力します。

1. 実行するテストを選択し、すべての必須フィールドに入力します。

1. **[保存]** を選択します。