

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

# Jenkins와 AWS CodeBuild 함께 사용
<a name="jenkins-plugin"></a>

용 Jenkins 플러그인 AWS CodeBuild 을 사용하여 CodeBuild를 Jenkins 빌드 작업과 통합할 수 있습니다. 빌드 작업을 Jenkins 빌드 노드로 보내는 대신, 이 플러그인을 사용하여 CodeBuild로 빌드 작업을 전송합니다. 따라서 Jenkins 빌드 노드를 프로비저닝, 구성 및 관리할 필요가 없습니다.

**Topics**
+ [Jenkins 설정](#setup-jenkins)
+ [플러그인 설치](#plugin-installation)
+ [플러그인 사용](#plugin-usage)

## Jenkins 설정
<a name="setup-jenkins"></a>

 AWS CodeBuild 플러그인을 사용하여 Jenkins를 설정하고 플러그인 소스 코드를 다운로드하는 방법에 대한 자세한 내용은 [ https://github.com/awslabs/aws-codebuild-jenkins-plugin](https://github.com/awslabs/aws-codebuild-jenkins-plugin) 참조하십시오.

## 플러그인 설치
<a name="plugin-installation"></a>

Jenkins 서버를 이미 설정했고 AWS CodeBuild 플러그인만 설치하려는 경우 Jenkins 인스턴스의 Plugin Manager에서 **CodeBuild Plugin for Jenkins**를 검색합니다.

## 플러그인 사용
<a name="plugin-usage"></a><a name="source-available-outside-of-your-vpc"></a>

**VPC 외부의 소스와 AWS CodeBuild 함께를 사용하려면**

1. CodeBuild 콘솔에서 프로젝트를 생성합니다. 자세한 내용은 [빌드 프로젝트 만들기(콘솔)](create-project.md#create-project-console) 단원을 참조하십시오.
   + 빌드를 실행할 AWS 리전을 선택합니다.
   + (선택 사항) CodeBuild 빌드 컨테이너가 VPC의 리소스에 액세스할 수 있도록 Amazon VPC 구성을 설정합니다.
   + 프로젝트 이름을 적어 둡니다. 3단계에서 이 이름이 필요합니다.
   + (선택 사항) CodeBuild에서 소스 리포지토리를 기본적으로 지원하지 않는 경우 Amazon S3를 프로젝트의 입력 소스 유형으로 설정할 수 있습니다.

1. IAM 콘솔에서 Jenkins 플러그인에서 사용할 사용자를 생성합니다.
   + 사용자에 대한 보안 인증을 생성할 때는 **프로그래밍 방식 액세스**를 선택합니다.
   + 다음과 유사한 정책을 만든 다음, 정책을 사용자에게 연결합니다.

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

****  

     ```
     {
         "Version":"2012-10-17",		 	 	 
         "Statement": [
             {
                 "Effect": "Allow",
                 "Resource": [
                     "arn:aws:logs:us-east-1:111122223333:log-group:/aws/codebuild/{{projectName}}:*"
                 ],
                 "Action": [
                     "logs:GetLogEvents"
                 ]
             },
             {
                 "Effect": "Allow",
                 "Resource": [
                     "arn:aws:s3:::{{inputBucket}}"
                 ],
                 "Action": [
                     "s3:GetBucketVersioning"
                 ]
             },
             {
                 "Effect": "Allow",
                 "Resource": [
                     "arn:aws:s3:::{{inputBucket}}/{{inputObject}}"
                 ],
                 "Action": [
                     "s3:PutObject"
                 ]
             },
             {
                 "Effect": "Allow",
                 "Resource": [
                     "arn:aws:s3:::{{outputBucket}}/*"
                 ],
                 "Action": [
                     "s3:GetObject"
                 ]
             },
             {
                 "Effect": "Allow",
                 "Resource": [
                     "arn:aws:codebuild:us-east-1:111122223333:project/{{projectName}}"
                 ],
                 "Action": [
                     "codebuild:StartBuild",
                     "codebuild:BatchGetBuilds",
                     "codebuild:BatchGetProjects"
                 ]
             }
         ]
     }
     ```

------

1. Jenkins에서 자유형 프로젝트를 생성합니다.
   + **구성** 페이지에서 **빌드 단계 추가**를 선택한 다음, **CodeBuild에서 빌드 실행**을 선택합니다.
   + 빌드 단계를 구성합니다.
     + **리전**, **보안 인증**, **프로젝트 이름**에 값을 입력합니다.
     + **프로젝트 소스 사용**을 선택합니다.
     + 구성을 저장하고 Jenkins에서 빌드를 실행합니다.

1. **소스 코드 관리**에서 원하는 소스 검색 방법을 선택합니다. Jenkins 서버에 GitHub 플러그인(또는 소스 리포지토리 공급자용 Jenkins 플러그인)을 설치해야 할 수 있습니다.
   + **구성** 페이지에서 **빌드 단계 추가**를 선택한 다음, ** AWS CodeBuild에서 빌드 실행**을 선택합니다.
   + 빌드 단계를 구성합니다.
     + **리전**, **보안 인증**, **프로젝트 이름**에 값을 입력합니다.
     + **Jenkins 소스 사용**을 선택합니다.
     + 구성을 저장하고 Jenkins에서 빌드를 실행합니다.<a name="jenkins-pipeline-plugin"></a>

**Jenkins 파이프라인 AWS CodeBuild 플러그인과 함께 플러그인을 사용하려면**
+ Jenkins 파이프라인 프로젝트 페이지에서 스니펫 생성기를 사용하여 CodeBuild를 파이프라인의 단계로 추가하는 파이프라인 스크립트를 생성합니다. 다음과 유사한 스크립트가 생성됩니다.

  ```
  awsCodeBuild projectName: 'project', credentialsType: 'keys', region: 'us-west-2', sourceControlType: 'jenkins'
  ```