

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

# CodeBuild의 빌드 배지 샘플
<a name="sample-build-badges"></a>

AWS CodeBuild 는 이제 프로젝트의 최신 빌드 상태를 표시하는 동적으로 생성된 임베딩 가능한 이미지(*배지*)를 제공하는 빌드 배지 사용을 지원합니다. 이 이미지는 CodeBuild 프로젝트용으로 생성된 URL을 통해 공개적으로 액세스할 수 있습니다. 이를 통해 누구든지 CodeBuild 프로젝트의 상태를 볼 수 있습니다. 빌드 배지에는 보안 정보가 포함되어 있지 않으므로 인증이 필요하지 않습니다.

**Topics**
+ [활성화된 빌드 배지를 사용하여 빌드 프로젝트 생성](#sample-build-badges-request-running)
+ [AWS CodeBuild 빌드 배지 액세스](access-badges.md)
+ [CodeBuild 빌드 배지 게시](publish-badges.md)
+ [CodeBuild 배지 상태](badge-statuses.md)

## 활성화된 빌드 배지를 사용하여 빌드 프로젝트 생성
<a name="sample-build-badges-request-running"></a>

다음 절차 중 하나를 사용하여 빌드 배지가 활성화된 빌드 프로젝트를 생성합니다. AWS CLI 또는를 사용할 수 있습니다 AWS Management Console.

**활성화된 빌드 배지를 사용하여 빌드 프로젝트를 생성하려면(AWS CLI)**
+ 빌드 프로젝트 생성에 대한 자세한 내용은 [빌드 프로젝트 생성(AWS CLI)](create-project.md#create-project-cli) 섹션을 참조하십시오. AWS CodeBuild 프로젝트에 빌드 배지를 포함하려면 *badgeEnabled* 값을 `true`로 지정해야 합니다.

**활성화된 빌드 배지를 사용하여 빌드 프로젝트를 생성하려면(콘솔)**

1. [https://console.aws.amazon.com/codesuite/codebuild/home](https://console.aws.amazon.com/codesuite/codebuild/home) AWS CodeBuild 콘솔을 엽니다.

1.  CodeBuild 정보 페이지가 나타나면 **빌드 프로젝트 생성**을 선택합니다. 그렇지 않을 경우, 탐색 창에서 **빌드**를 확장한 후 **빌드 프로젝트**를 선택하고 **빌드 프로젝트 생성**을 선택합니다.

1. **프로젝트 이름**에 이 빌드 프로젝트의 이름을 입력합니다. 빌드 프로젝트 이름은 각 AWS 계정에서 고유해야 합니다. 또한 선택에 따라 빌드 프로젝트에 대한 설명을 포함하여 다른 사용자가 이 프로젝트의 용도를 이해하도록 도울 수 있습니다.

1. **소스**의 **소스 공급자**에서, 소스 코드 공급자 유형을 선택한 다음, 다음 중 하나를 수행합니다.
**참고**  
 CodeBuild는 Amazon S3 소스 공급자에게 빌드 배지를 지원하지 않습니다. 는 아티팩트 전송에 Amazon S3를 AWS CodePipeline 사용하기 때문에 CodePipeline에서 생성된 파이프라인의 일부인 빌드 프로젝트에는 빌드 배지가 지원되지 않습니다.
   + **CodeCommit**을 선택한 후 **리포지토리**에서 해당 리포지토리의 이름을 선택합니다. 프로젝트의 빌드 상태를 표시하고 삽입 가능하게 하려면 **Enable build badge(빌드 배치 활성화)**를 선택합니다.
   + [**GitHub**]를 선택했다면, GitHub와 연결(다시 연결)하는 지침을 따르십시오. GitHub **애플리케이션 승인** 페이지의 **조직 액세스**에서 액세스 AWS CodeBuild 하려는 각 리포지토리 옆에 있는 액세스 **요청을** 선택합니다. **Authorize application(애플리케이션 권한 부여)**을 선택한 후 AWS CodeBuild 콘솔로 돌아가서 **리포지토리**에서 소스 코드를 포함하는 리포지토리의 이름을 선택합니다. 프로젝트의 빌드 상태를 표시하고 삽입 가능하게 하려면 **Enable build badge(빌드 배치 활성화)**를 선택합니다.
   + [**Bitbucket**]을 선택했다면, Bitbucket과 연결(다시 연결)하는 지침을 따르십시오. [**Confirm access to your account**] 페이지의 [**Organization access**]에서 [**Grant access**]를 선택합니다. **액세스 권한 부여**를 선택한 후 AWS CodeBuild 콘솔의 **리포지토리**에서 소스 코드가 포함된 리포지토리의 이름을 선택합니다. 프로젝트의 빌드 상태를 표시하고 삽입 가능하게 하려면 **Enable build badge(빌드 배치 활성화)**를 선택합니다.
**중요**  
프로젝트 소스를 업데이트하면 프로젝트 빌드 배지의 정확성에 영향을 미칠 수 있습니다.

1. **환경**에서 다음과 같이 합니다.

   [**Environment image**]에서 다음 중 하나를 수행합니다.
   + 에서 관리하는 도커 이미지를 사용하려면 **관리형 이미지를** AWS CodeBuild선택한 다음 **운영 체제**, **런타임**, **이미지**(Image) 및 **이미지 버전**에서 선택합니다. 사용 가능한 경우 **환경 유형**에서 항목을 선택합니다.
   + 다른 도커 이미지를 사용하려면 **사용자 지정 이미지**를 선택합니다. **환경 유형**에서 **ARM**, **Linux**, **Linux GPU** 또는 **Windows**를 선택합니다. **Other registry(다른 레지스트리)**를 선택한 경우 **External registry URL(외부 레지스트리 URL)**에 Docker Hub의 도커 이미지 이름 및 태그를 `docker repository/docker image name` 형식으로 입력합니다. **Amazon ECR**을 선택하는 경우 **Amazon ECR 리포지토리**와 **Amazon ECR 이미지를** 사용하여 AWS 계정에서 도커 이미지를 선택합니다.
   + 프라이빗 도커 이미지를 사용하려면 **사용자 지정 이미지**를 선택합니다. **환경 유형**에서 **ARM**, **Linux**, **Linux GPU** 또는 **Windows**를 선택합니다. **Image registry(이미지 레지스트리)**에서 **Other registry(다른 레지스트리)**를 선택한 다음 프라이빗 도커 이미지에 대한 보안 인증 정보의 ARN을 입력합니다. 보안 인증은 Secrets Manager에서 생성됩니다. 자세한 내용은 AWS Secrets Manager사용 설명서의 [AWS Secrets Manager 이란?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/) 섹션을 참조하세요.**

1. **서비스 역할**에서 다음 중 하나를 수행합니다.
   + CodeBuild 서비스 역할이 없는 경우 **새 서비스 역할**을 선택합니다. **역할 이름**에 새 역할의 이름을 입력합니다.
   + CodeBuild 서비스 역할이 있는 경우 **기존 서비스 역할**을 선택합니다. **역할 ARN**에서 서비스 역할을 선택합니다.
**참고**  
콘솔을 사용하여 빌드 프로젝트를 생성하거나 업데이트하는 경우, 이와 동시에 CodeBuild 서비스 역할을 만들 수 있습니다. 기본적으로 역할은 해당 빌드 프로젝트에서만 작동합니다. 콘솔을 사용하여 이 서비스 역할을 다른 빌드 프로젝트와 연결하는 경우 다른 빌드 프로젝트에서 작동하도록 역할이 업데이트됩니다. 하나의 서비스 역할은 최대 10개의 빌드 프로젝트에서 작동할 수 있습니다.

1. **Buildspec**에서 다음 중 하나를 수행합니다.
   + **buildspec 파일 사용**을 선택하여 소스 코드 루트 디렉터리에 있는 buildspec.yml 파일을 사용합니다.
   + **빌드 명령 삽입**을 선택하여 콘솔에서 빌드 명령을 삽입합니다.

   자세한 내용은 [buildspec 참조](build-spec-ref.md) 단원을 참조하십시오.

1. **결과물**의 **유형**에서 다음 중 하나를 수행합니다.
   + 빌드 출력 아티팩트를 생성하지 않으려면 **No artifacts(아티팩트 없음)**를 선택합니다.
   + S3 버킷에 빌드 출력을 저장하려면 **Amazon S3**를 선택하고 다음 작업을 수행합니다.
     + 빌드 출력 ZIP 파일이나 폴더에 프로젝트 이름을 사용하려는 경우 **이름**을 비워 둡니다. 그렇지 않으면 이름을 입력합니다. 기본적으로 결과물 이름은 프로젝트의 이름입니다. 다른 이름을 사용하려면 결과물 이름 상자에 해당 이름을 입력합니다. ZIP 파일을 출력하려면 zip 확장명을 포함시킵니다.
     + [**Bucket name**]에서 출력 버킷의 이름을 선택합니다.
     + 이 절차의 앞부분에서 **빌드 명령 삽입**을 선택한 경우 **출력 파일**에 빌드 출력 ZIP 파일 또는 폴더에 넣으려는 빌드의 파일 위치를 입력합니다. 위치가 여러 개인 경우 각 위치를 쉼표로 구분합니다(예: `appspec.yml, target/my-app.jar`). 자세한 내용은 [buildspec 구문](build-spec-ref.md#build-spec-ref-syntax)의 `files` 설명을 참조하십시오.

1. **추가 구성**을 확장하고 적절한 옵션을 선택합니다.

1. **빌드 프로젝트 생성**을 선택합니다. **검토** 페이지에서 **빌드 시작**을 선택하여 빌드를 실행합니다.

# AWS CodeBuild 빌드 배지 액세스
<a name="access-badges"></a>

 AWS CodeBuild 콘솔 또는를 사용하여 빌드 배지 AWS CLI 에 액세스할 수 있습니다.
+ CodeBuild 콘솔에서 빌드 프로젝트 목록에 있는 **이름** 열에서 빌드 프로젝트에 해당하는 링크를 선택합니다. **빌드 프로젝트: *project-name*** 페이지의 **구성**에서 **배지 URL 복사**를 선택합니다. 자세한 내용은 [빌드 프로젝트 세부 정보 보기(콘솔)](view-project-details.md#view-project-details-console) 단원을 참조하십시오.
+ 에서 `batch-get-projects` 명령을 AWS CLI실행합니다. 빌드 배지 URL은 출력의 프로젝트 환경 세부 정보 섹션에 포함됩니다. 자세한 내용은 [빌드 프로젝트 세부 정보 보기(AWS CLI)](view-project-details.md#view-project-details-cli) 단원을 참조하십시오.

빌드 배지 요청 URL은 일반적인 기본 분기로 생성되지만, 빌드를 실행하는 데 사용한 소스 리포지토리의 어떤 분기도 지정할 수 있습니다. 예제:

```
https://codebuild.us-east-1.amazon.com/badges?uuid=...&branch=<branch>
```

`branch` 파라미터를 배지 URL의 `tag` 파라미터를 대체하여 소스 리포지토리의 태그를 지정할 수도 있습니다. 예제: 

```
https://codebuild.us-east-1.amazon.com/badges?uuid=...&tag=<tag>
```

# CodeBuild 빌드 배지 게시
<a name="publish-badges"></a>

마크다운 이미지의 빌드 배지 URL을 사용하여 마크다운 파일에 최신 빌드의 상태를 표시할 수 있습니다. 이 기능은 소스 리포지토리(예: GitHub 또는 CodeCommit) 의 readme.md 파일에 최신 빌드의 상태를 표시하는 데 유용합니다. 예제:

```
![](<build badge URL>)
```

# CodeBuild 배지 상태
<a name="badge-statuses"></a>

CodeBuild 빌드 배지는 다음 상태 중 하나를 가질 수 있습니다.
+ **PASSING** 특정 분기의 최신 빌드가 전달되었습니다.
+ **FAILING** 특정 분기의 최신 빌드가 시간 초과, 실패, 오류 또는 중지되었습니다.
+ **IN\$1PROGRESS** 특정 분기의 최신 빌드가 진행 중입니다.
+ **UNKNOWN** 프로젝트가 아직 특정 분기 또는 전부에 대한 빌드를 실행하지 않았습니다. 또한 배지 빌드 기능이 비활성화되었을 수 있습니다.