Git 동기화 작동 방식
이 주제에서는 Git 동기화의 작동 방식을 설명하고 Git 동기화를 사용하는 데 필요한 주요 개념을 소개합니다.
Git 동기화 작동 방식
Git 동기화를 사용하려면 먼저 CodeConnections 서비스를 사용하여 Git 공급자를 CloudFormation에 연결해야 합니다. 이 안내서의 절차에서는 CodeConnections 콘솔을 통해 연결을 생성합니다. 또는 AWS CLI를 사용하여 연결을 생성할 수도 있습니다. 다음과 같은 Git 공급자를 사용할 수 있습니다.
다음으로 스택을 정의하는 CloudFormation 템플릿을 생성하고 리포지토리에 추가합니다. 이 템플릿 파일은 모니터링됩니다. CloudFormation은 스택에 변경 사항이 커밋되면 스택을 자동으로 업데이트합니다.
CloudFormation 콘솔에서 새 스택을 생성하고 Git에서 동기화를 선택하여 CloudFormation에 Git 동기화를 사용하도록 지시합니다. CloudFormation에서 모니터링할 리포지토리 및 브랜치를 지정하고 스택을 정의하는 리포지토리의 CloudFormation 템플릿을 지정합니다.
구성 중에 리포지토리에서 자체 스택 배포 파일을 제공하거나 Git 동기화에서 자동으로 파일을 생성하도록 할 수 있습니다. 스택 배포 파일에는 스택의 리소스를 구성하는 파라미터 및 값이 포함됩니다. 이 스택 배포 파일은 모니터링됩니다. CloudFormation은 스택에 변경 사항이 커밋되면 스택을 자동으로 업데이트합니다.
Git 동기화는 리포지토리에 풀 요청을 생성하여 스택을 CloudFormation 템플릿 파일 및 스택 배포 파일과 동기화합니다. Git 동기화에서 스택 배포 파일을 생성하는 경우 Git 동기화에서 해당 파일을 리포지토리에 제출합니다.
그러고 나서 CloudFormation에서 스택을 프로비저닝하고, 배포 파라미터로 스택을 구성하고, 리포지토리의 변경 사항 모니터링을 시작하도록 풀 요청을 리포지토리에 병합합니다.
그때부터 템플릿 파일 또는 스택 배포 파일을 변경하여 리포지토리에 커밋할 때마다 CloudFormation은 자동으로 변경 사항을 탐지합니다. 팀에서 풀 요청을 사용하는 경우 팀원이 변경 사항을 배포하기 전에 검토하고 승인할 수 있습니다. 풀 요청이 수락되면 CloudFormation은 변경 사항을 배포합니다.
CloudFormation 콘솔에서 스택의 Git 동기화 구성 상태와 더불어 스택에 적용된 커밋 기록을 볼 수 있습니다. 또한 콘솔에서는 Git 동기화를 재구성하고 문제를 해결하기 위한 도구도 제공합니다.
풀 요청에 대한 의견
콘솔에서 풀 요청에서 주석 활성화 옵션을 켜서 CloudFormation이 CodeConnections 서비스를 통해 풀 요청의 코드 변경 요약을 생성하도록 할 수 있습니다. 풀 요청의 변경 요약을 제공하면 팀원이 풀 요청을 병합하기 전에 제안된 수정이 미치는 영향을 쉽게 검토하고 이해할 수 있습니다. 자세한 내용은 CloudFormation의 풀 요청에서 스택 변경 요약 게시 활성화 단원을 참조하십시오.
스택 배포 파일
스택 배포 파일은 CloudFortation 스택을 관리하는 파라미터 및 값이 포함된 JSON(JavaScript Object Notation) 또는 YAML 표준 형식의 파일입니다. 이 파일의 변경 사항이 모니터링됩니다. 파일의 변경 사항이 리포지토리에 커밋되면 관련 스택이 자동으로 업데이트됩니다.
스택 배포 파일에는 다음과 같이 하나의 키-값 페어와 두 개의 사전이 포함되어 있습니다.
-
template-file-path
CloudFormation 템플릿 파일의 전체 리포지토리 경로입니다. 템플릿 파일은 이 배포 파일과 연결된 CloudFormation 스택의 리소스를 선언합니다.
-
parameters
parameters 사전에는 스택의 리소스를 구성하는 키-값 페어가 포함됩니다. 스택 배포 파일에는 최대 50개의 파라미터가 포함될 수 있습니다.
-
tags
tags 사전에는 스택의 리소스를 식별하고 분류하는 데 사용할 수 있는 선택적 키-값 페어가 포함됩니다. 스택 배포 파일에는 최대 50개의 태그가 포함될 수 있습니다.
직접 스택 배포 파일을 제공하거나 Git 동기화에서 스택 배포 파일을 생성하고 리포지토리에 풀 요청을 자동으로 제출하도록 할 수 있습니다. 스택 배포 파일을 편집하고 변경 사항을 리포지토리에 커밋하여 파라미터 및 태그를 관리할 수 있습니다.
다음은 Git 동기화 스택 배포 파일의 예시입니다.
template-file-path: ./fargate-srvc/my-stack-template.yaml parameters: image: public.ecr.aws/lts/nginx:latest task_size: x-small max_capacity: 5 port: 8080 env: production tags: cost-center: '123456' org: 'AWS'
CloudFormation 템플릿 파일
템플릿 파일에는 CloudFormation 스택을 구성하는 AWS 리소스의 선언이 포함됩니다. Git 동기화를 사용하면 템플릿 파일이 Git 리포지토리에 저장되고 스택 배포 파일에서 참조됩니다. 템플릿 파일을 편집하고 변경 사항을 리포지토리에 커밋하여 스택을 관리할 수 있습니다.
자세한 내용은 CloudFormation 템플릿 작업 단원을 참조하십시오.
템플릿 정의 리포지토리
템플릿 정의 리포지토리는 Git 동기화를 통해 CloudFormation에 연결되는 Git 리포지토리입니다. 이 리포지토리에서 CloudFormation 템플릿 및 스택 배포 파일의 변경 사항이 모니터링됩니다. 파일의 변경 사항을 커밋하면 연결된 스택이 자동으로 업데이트됩니다.
중요
Git 동기화 콘솔에서 템플릿 정의 리포지토리를 구성할 때 Git 연결에서 올바른 리포지토리 및 브랜치를 선택해야 합니다. Git 동기화는 구성된 리포지토리 및 브랜치에서만 CloudFormation 템플릿 및 스택 배포 파일의 변경 사항을 모니터링합니다.