

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

# AWS SAM 를 사용하여 Jenkins, GitLab CI/CD, GitHub Actions, Bitbucket Pipelines용 스타터 파이프라인 생성
<a name="serverless-generating-example-ci-cd-others"></a>

Jenkins, GitLab CI/CD, GitHub Actions 또는 Bitbucket Pipeline에 대한 스타터 파이프라인 구성을 생성하려면 다음 태스크를 순서대로 수행합니다.

1. 인프라 리소스

1. Git 리포지토리를 CI/CD 시스템에 연결

1. 보안 인증 정보 객체 생성

1. 파이프라인 구성 생성

1. 파이프라인 구성을 Git 리포지토리에 커밋

**참고**  
다음 절차에서는 두 개의 AWS SAMCLI 명령, `sam pipeline bootstrap` 및 `sam pipeline init`을 사용합니다. 두 가지 명령이 있는 이유는 관리자(즉, IAM 사용자 및 역할과 같은 인프라 AWS 리소스를 설정할 권한이 필요한 사용자)가 개발자(즉, 개별 파이프라인을 설정할 권한만 필요하지만 필요한 인프라 AWS 리소스는 필요하지 않은 사용자)에게 더 많은 권한을 부여하는 사용 사례를 처리하기 위한 것입니다.

## 1단계: 인프라 리소스 생성
<a name="generating-example-step-1"></a>

를 사용하는 파이프라인에는 필요한 권한이 있는 IAM 사용자 및 역할, Amazon S3 버킷, 선택적으로 Amazon ECR 리포지토리와 같은 특정 AWS 리소스가 AWS SAM 필요합니다. 파이프라인의 각 배포 단계를 위한 인프라 리소스 세트가 있어야 합니다.

다음 명령을 실행하여 이 설정을 편집하거나 추가할 수 있습니다.

```
sam pipeline bootstrap
```

**참고**  
파이프라인의 각 배포 단계에 대해 이전 명령어를 실행합니다.

파이프라인의 각 배포 단계에 대한 파이프라인 사용자의 AWS 자격 증명(키 ID 및 보안 키)은 후속 단계에 필요하므로 캡처해야 합니다.

## 2단계: Git 리포지토리를 CI/CD 시스템에 연결
<a name="generating-example-step-2"></a>

CI/CD 시스템이 빌드 및 배포를 위해 애플리케이션 소스 코드에 액세스할 수 있으려면 Git 리포지토리를 CI/CD 시스템에 연결해야 합니다.

**참고**  
다음 중 하나를 사용하는 경우 연결은 자동으로 수행되므로 이 단계를 건너뛸 수 있습니다.  
GitHub 리포지토리를 사용한 GitHub Action
GitLab 리포지토리를 사용한 GitLab CI/CD
Bitbucket 리포지토리가 있는 Bitbucket Pipeline

Git 리포지토리를 CI/CD 시스템에 연결하려면 다음 중 하나를 수행합니다.
+ Jenkins를 사용하는 경우 [Jenkins 설명서](https://www.jenkins.io/doc/book/pipeline/multibranch/)의 ‘브랜치 소스에 추가’를 참조하세요.
+ GitLab이 아닌 GitLab CI/CD와 Git 리포지토리를 사용하고 있다면 [GitLab 설명서](https://docs.gitlab.com/ee/ci/ci_cd_for_external_repos/)에서 ‘외부 리포지토리에 연결’을 참조하세요.

## 3단계: 보안 인증 정보 객체 생성
<a name="generating-example-step-3"></a>

각 CI/CD 시스템은 CI/CD 시스템이 Git 리포지토리에 액세스하는 데 필요한 보안 인증 정보를 관리하는 고유한 방법을 가집니다.

필요한 보안 인증 정보 객체를 생성하려면 다음 중 하나를 수행합니다.
+ Jenkins를 사용하는 경우 키 ID와 보안 암호 키를 모두 저장하는 단일 ‘보안 인증 정보’을 만듭니다. [AWS SAM과 Jenkins Pipeline를 빌드](https://aws.amazon.com/blogs/compute/building-a-jenkins-pipeline-with-aws-sam/) 블로그, **Jenkins 구성** 섹션의 지침을 따르세요. 다음 단계에서 ‘보안 인증 id’가 필요합니다.
+ GitLab CI/CD를 사용하는 경우 키 ID와 보안 암호 키 각각에 하나씩, 두 개의 ‘보호되는 변수’를 만듭니다. [GitLab 설명서](https://docs.gitlab.com/ee/ci/variables/)의 지침을 따르세요. 다음 단계를 위해 두 개의 ‘변수 키’가 필요합니다.
+ GitHub Actions를 사용하는 경우 키와 보안 암호 키 각각에 하나씩, 두 개의 ‘암호화된 보안 암호’를 만듭니다. [GitHub 설명서](https://docs.github.com/en/actions/reference/encrypted-secrets)의 지침을 따르세요. 다음 단계를 수행하려면 두 개의 ‘보안 암호 이름’이 필요합니다.
+ Bitbucket Pipeline을 사용하는 경우, 키 ID와 보안 암호 키 각각에 하나씩, 두 개의 ‘보안 변수’를 만듭니다. [변수 및 보안 암호](https://support.atlassian.com/bitbucket-cloud/docs/variables-and-secrets)의 지침을 따르세요. 다음 단계를 수행하려면 두 개의 ‘보안 암호 이름’이 필요합니다.

## 4단계: 파이프라인 구성 생성
<a name="generating-example-step-4"></a>

파이프라인 구성을 생성하려면 다음 명령을 실행합니다. 이전 단계에서 생성한 보안 인증 정보 객체를 입력해야 합니다.

```
sam pipeline init
```

## 5단계: 파이프라인 구성을 Git 리포지토리에 커밋
<a name="generating-example-step-5"></a>

이 단계는 CI/CD 시스템이 파이프라인 구성을 인식하도록 할 때 필요하며, 변경 사항이 커밋될 때 실행됩니다.

## 자세히 알아보기
<a name="serverless-generating-other-cicd-learn"></a>

GitHub Actions을 사용하여 CI/CD 파이프라인을 설정하는 실제 예제는 *전체 AWS SAM 워크샵*의 [GitHub을 사용한 CI/CD](https://s12d.com/sam-ws-en-gh) 섹션을 참조하세요.