AWS CodeCommit 이벤트에서 사용자 지정 작업 수행 - AWS 권장 가이드

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

AWS CodeCommit 이벤트에서 사용자 지정 작업 수행

작성자: Abdullahi Olaoye(AWS)

환경: PoC 또는 파일럿

기술: DevOps, 관리 및 거버넌스

AWS 서비스: AWS CodeCommit, Amazon SNS

요약

알림: AWS CodeCommit 는 더 이상 신규 고객에게 제공되지 않습니다. 의 기존 고객은 평소와 같이 서비스를 계속 사용할 AWS CodeCommit 수 있습니다. 자세히 알아보기

AWS CodeCommit 리포지토리를 사용하여 코드를 저장하는 경우 리포지토리를 모니터링하고 특정 이벤트가 발생할 때 작업 워크플로를 시작할 수 있습니다. 예를 들어 사용자가 커밋의 코드 줄에 주석을 달 때 이메일 알림을 보내거나 커밋 후 AWS Lambda 함수를 시작하여 리포지토리 콘텐츠에 대한 보안 스캔을 수행할 수 있습니다. 이 패턴은 사용자 지정 작업에 대한 CodeCommit 리포지토리를 구성하는 단계를 간략하게 설명합니다. 패턴은 AWS CodeCommit 알림 규칙을 사용하여 관심 이벤트를 캡처한 다음 이러한 이벤트를 구성된 대상으로 보냅니다.

사전 조건 및 제한 사항

사전 조건 

아키텍처

AWS Code Commit 이벤트, Amazon SNS 구독 및 결과 작업의 아키텍처 다이어그램입니다.

도구

AWS 서비스

  • AWS CodeCommit 는 보안 Git 기반 리포지토리를 호스팅하는 완전 관리형 소스 제어 서비스입니다. 이를 통해 팀은 안전하고 확장성이 뛰어난 에코시스템에서 코드에 대해 쉽게 협업할 수 있습니다. 자체 소스 제어 시스템을 운영하거나 인프라 확장 CodeCommit 에 대해 걱정할 필요가 없습니다.

  • Amazon Simple Notification Service(Amazon SNS)는 애플리케이션, 최종 사용자 및 디바이스가 클라우드에서 알림을 즉시 보내고 받을 수 있는 웹 서비스입니다. AmazonSNS은 처리량이 높은 푸시 기반 many-to-many 메시징에 대한 주제(통신 채널)를 제공합니다. Amazon SNS 주제를 사용하여 게시자는 Amazon Simple Queue Service(AmazonSQS) 대기열, AWS Lambda 함수 및 HTTP/S 웹후크를 포함하여 병렬 처리를 위해 많은 구독자에게 메시지를 배포할 수 있습니다. AmazonSNS을 사용하여 모바일 푸시, SMS및 이메일을 사용하여 최종 사용자에게 알림을 보낼 수도 있습니다.

에픽

작업설명필요한 기술

CodeCommit 리포지토리를 생성합니다.

CodeCommit 콘솔 또는 를 사용하여 CodeCommit 리포지토리를 AWS CLI 생성합니다. 지침은 CodeCommit 리포지토리 생성을 참조하세요.

DevOps 엔지니어

콘텐츠를 CodeCommit 리포지토리로 푸시합니다.

리포지토리를 생성한 후 Git 명령을 사용하여 리포지토리에 콘텐츠를 추가합니다. 기존 Git 리포지토리의 콘텐츠 또는 버전이 지정되지 않은 로컬 콘텐츠를 컴퓨터에서 마이그레이션할 수 있습니다. 지침은 리포지토리에 파일 추가 또는 로 마이그레이션을 AWS CodeCommit참조하세요.

DevOps 엔지니어
작업설명필요한 기술

SNS 주제를 만듭니다.

이 SNS 주제는 에서 이벤트를 수신합니다 CodeCommit. 지침은 Amazon SNS 주제 생성을 참조하세요.

클라우드 아키텍트, DevOps 엔지니어

사용자 지정 작업을 위한 리소스를 생성합니다.

사용자 지정 작업을 수행하려면 해당 리소스를 만들어야 합니다. 예를 들어 사용자 지정 작업이 Lambda 코드를 실행하고 SQS 대기열로 메시지를 전송하는 경우 Lambda 함수와 SQS 대기열을 생성해야 합니다. 이메일 및 SMS 알림과 같은 작업에는 리소스가 필요하지 않습니다. 자세한 내용은 생성하는 리소스 유형에 대한 AWS 설명서를 참조하세요.

클라우드 아키텍트, DevOps 엔지니어

SNS 주제에 대한 사용자 지정 작업 리소스를 구독합니다.

사용자 지정 작업에 따라 적절한 프로토콜에 대한 구독을 생성합니다. 예를 들어 이메일 알림을 위한 이메일 주소, 사용자 지정 코드를 실행하는 Lambda 함수 또는 Amazon 에 이벤트를 보내는 SQS 대기열을 구독합니다SQS. 이메일 및 와 같은 구독 프로토콜의 경우 SMS이메일 또는 전화번호로 각각 전송되는 링크에서 구독을 확인해야 합니다. 지침은 Amazon SNS 주제 구독을 참조하세요.

클라우드 아키텍트, DevOps 엔지니어
작업설명필요한 기술

CodeCommit 리포지토리에 대한 알림 규칙을 생성합니다.

알림 규칙을 생성할 때 알림을 시작해야 하는 Git 이벤트를 선택하고 SNS 주제를 대상 유형으로 선택한 다음 이전에 생성한 SNS 주제를 선택합니다. 리포지토리에 여러 대상을 구성할 수도 있습니다. 지침은 알림 규칙 생성을 참조하세요.

DevOps 엔지니어

사용자 지정 작업을 테스트합니다.

알림을 시작하도록 구성된 이벤트 중 하나를 수행합니다. 예를 들어, 해당 이벤트를 트리거로 선택한 경우 풀 요청을 생성합니다. 수행 중인 사용자 지정 작업이 나타납니다. 예를 들어 SNS 주제에 대한 이메일 주소를 구독한 경우 이메일 알림을 받게 됩니다.

DevOps 엔지니어

관련 리소스