

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Device Farm을 Jenkins CI 서버와 통합
<a name="continuous-integration-jenkins-plugin"></a>

Jenkins CI 플러그인은 자체 Jenkins 지속적 통합(CI) 서버에서 AWS Device Farm 기능을 제공합니다. 자세한 내용은 [Jenkin(소프트웨어)](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/ko_kr/devicefarm/latest/developerguide/images/aws-device-farm-jenkins-plugin-continuous-integration-project-hello-world-app.png)


![\[Jenkins CI 빌드 후 작업과 통합\]](http://docs.aws.amazon.com/ko_kr/devicefarm/latest/developerguide/images/aws-device-farm-jenkins-plugin-continuous-integration-post-build-actions.png)


플러그인은 모든 테스트 아티팩트(로그, 스크린샷 등) 또한 로컬에서 가져올 수 있습니다.

![\[Jenkins CI 테스트 아티팩트와 통합\]](http://docs.aws.amazon.com/ko_kr/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) 플러그인을 설치하는 데는 두 가지 옵션이 있습니다. Jenkins 웹 UI의 **사용 가능한 플러그인** 대화 상자에서 플러그인을 검색하거나 Jenkins 내에서 `hpi` 파일을 다운로드하여 설치할 수 있습니다.

### 젠킨스 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. [http://updates.jenkins-ci.org/latest/aws-device farm.hpi](http://updates.jenkins-ci.org/latest/aws-device-farm.hpi)에서 직접 `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>

 AWS 루트 계정을 사용하여 Device Farm에 액세스하지 않는 것이 좋습니다. 대신 계정에 새 AWS Identity and Access Management (IAM) 사용자를 생성한 다음(또는 기존 IAM 사용자 사용) 해당 IAM 사용자로 Device Farm에 액세스합니다 AWS .

새 IAM 사용자를 생성하려면 [IAM 사용자 생성(AWS Management Console)](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. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 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. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)에서 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. 화면 왼쪽에서 **Jenkins 관리**를 선택하세요.

1. **시스템 구성**을 선택하세요.

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. **저장**을 선택하세요.