Amazon Web Services 한국 블로그

AWS CodeCommit 이벤트 알림 신규 기능

AWS CodeCommit는 안전하고 확장성이 뛰어난 전용 Git 저장소를 쉽게 호스트 할 수 있는 매니지드 소스 관리 서비스입니다. 이번에 저장소 트리거를 추가하여 CodeCommit이 좀 더 유용한 서비스가 되었습니다. 트리거를 이용하여 단위 테스트 및 배포 도구 소스 코드 관리 워크 플로우에 통합할 수 있습니다. 트리거는 효율적이고 확장이므로 변경을 가져오도록 구축 된 모델보다 더 광범위하게 적용 가능합니다. 지속적인 통합지속적인 전달을 기반으로 한 개발 방법론을 위해 트리거 기능이 매우 유용합니다.

통지 기능 소개
CodeCommit 저장소마다 최대 10 개의 트리거를 만들 수 있습니다. 트리거는 코드 푸시/태그 생성/태그 삭제를 포함하는 저장소 동작에 대한 응답을 받습니다. 트리거는 저장소 특정 지점이나 모든 지점에 넣을 수 있습니다.

트리거를 통해 Amazon Simple Notification Service (SNS) 노티 항목을 보내거나 AWS Lambda 함수 호출이 가능합니다. 또한, 개별 트리거는 사용자 정의 데이터로 확장하는 것이 가능하고, 그 데이터에 의해 특정 트리거 같은 이벤트에서 실행되는 다른 트리거와 구별 할 수 있습니다. 저장소 이벤트를 이메일이나 SNS를 통해 구매하는 트리거를 사용할 수 있습니다. SNS에서 SQS에 쓰기 큐를 통해 CI/CD 도구에 작업을 올리거나 사용 도구가 제공하는 훅(webhook)에 SNS를 사용하여 활성화 할 수 있습니다. 특정 경우에는 CodeCommit 저장소 변경에 의해 지정된 작업이 시작됩니다. 또한, Lambda 기능을 이용하여 빌드 구문 확인, 코드의 복잡성 메트릭스 확인, 개발자 생산성 측정 등을 할 수 있습니다. 이 글 마지막에 몇 가지 특이한 아이디어를 생각해 보았습니다. (여러분도 한번 생각해 보시길!)

트리거는 AWS Management Console, AWS Command Line Interface (CLI)CodeCommit API를 통해 직접 관리 할 수 있습니다. 여기에서는 콘솔을 사용하도록 하겠습니다. 왼쪽 내비게이션 열에 Triggers 항목이 추가되어 있습니다 :

Create Trigger를 클릭하여 시작합니다. 하나의 이벤트 (또는 여러 이벤트)를 선택하고 단일 지점 (또는 여러 지점)을 선택하고 노티 발행과 Lambda 함수 호출에 필요한 정보를 입력합니다 :

대상 이벤트와 코드 지점을 선택했습니다.

 

SNS 토픽 또는 Lambda 함수를 지정하고 (적절한 권한이 지정되어 있는지 확인한 후) 예상대로 작동하는지 확인하기 위해 Test Trigger를 이용하고 Create 버튼을 클릭합니다.

예상대로 IAM 권한이 작동하는지 확인하기 위해 Test Trigger를 사용할 수 있습니다. 예를 들어, 아래에서는 일부러 오류를 발생시키고 있습니다:

이 문제는 How to Allow AWS CodeCommit to run the Function 문서에서 해결 방법을 찾을 수 있습니다.

정식 사용 가능
이 기능은 지금 바로 사용 가능하며, 더 자세한 정보는 Managing Triggers for an AWS CodeCommit Repository를 참고하시기 바랍니다.

Clare Liguori는 CodeCommit 트리거 기능을 활용한 몇 가지 아이디어를 만들었습니다. CI/CD를 통해 유용하게 진행 할 수 있습니다.

  • 동영상 배포 – 새로운 동영상 혹은 기존 동영상의 새 버전이 커밋되었는지 여부를 Lambda 함수로 체크하고 업데이트가 발생하면 동영상을 YouTube에 배포하기
  • 광고 배포 – 새로운 광고 자료가 준비 되면 Facebook에 자동으로 광고 생성, 실행, 소셜 미디어에 뉴스 등록하기

여러분이 개발 과정에서 이러한 트리거를 이용하여 창조적인 배포 방법이 있다면 꼭 공유해 주시기 바랍니다.

Jeff;

이 글은 New – Notifications for AWS CodeCommit의 한국어 번역입니다. AWS CodeCommit은 현재 미국 버지니아 리전에서만 제공되나, 소스 콘트롤 관리 서비스로 테스트해 보실 수 있습니다.