반응형

 

CI/CD 구축을 위한 단계

  0. ECS fargate 생성 (Cluster, Service, task-definition, task)

1-1. Bitbucket에 코드 업로드 (git)

1-2. Bitbucket <-> slack 연동 (PR 알람 노티를 위함)

2. Bitbucket <-> AWS API Gateway 연동 with Webhook

3. API gateway -> Lambda 호출 

4. Lambda -> S3로 패키지 업로드

5. AWS Codepipeline: S3 -> Codebuild + ECR 연동

6. Codebuild -> Deploy(ECS fargate)

7. ECS <-> LB(ALB) 연동하여 동작 테스트 

 


이번엔 CI/CD 구축을 위한 위 1-1, 1-2번 절차 포스팅이다.

일단 ci/cd 자체가, 코드를 올려서 그걸 연속적으로 배포해준다는 것인데, 그럼 코드를 올려야 한다.

나는 위 Diagram과 같이 bitbucket을 썼고, bitbucket에서 PR(Pull Request) Merge가 발생할 때마다 이를 slack으로 전송했다.

 

이번엔 대단한 작업이 딱히 없다 :) 

bitbucket에서 내가 사용할 repository를 생성하고, 그 repo의 설정으로 들어가준다. (Repository settings)

Merge시에만 알람이 가게끔 Merged를 체크해준다.

 

 

 

그리고 Additional configuration에서, 메세지를 노티 받을 Slack의 Channel name과 webhook Uri를 입력해준다.

Webhook Uri는, 내가 메세지를 노티받을 Slack의 channel에 들어가서,

오른쪽 상단의 설정을 누른 후, 통합 > 앱추가 > Incoming webhooks 를 설치하면 나온다.

 

앱 > 앱 추가

 

 

검색 창에 'incoming webhook' 검색, 하단에 '설치' 버튼을 눌러 webhooks을 설치한다.

 

 

채널에 포스트에서, 내가 웹훅을 받을 채널을 선택한다. (#clone-prison)

 

 

그럼 아래에 웹후크 url이 나오는데, 이 URL을 bitbucket의 Repository settings에 넣으면 된다.

 

이렇게 저장을 하면, PR Merge시마다 slack으로 노티를 받을 수 있다 :) 

 

반응형

+ Recent posts