공개

codedeploy 정리(2020과제 풀이)

sangwoon 2022. 1. 1. 16:39

일단 ec2에 대한 코드 deploy의 진행 상황을 알아야 한다.

 

이러한 과정이 있다고 한다

 

일단 우리가 봐야 할 것들은 

저 오른쪽에 있는 그림이다

 

먼저 배포를 해주고 싶은 ec2에다가

 

traffic block을 해준다

그리고

 

ec2의 codedeploy agent 가 s3 에 있는 파일을 압축해서 어떤 임시의 저장공간에 저장한다(DownloadBundle)

 

그리고 여기서 우리가 필요한 소스(source)를 우리가 원하는 위치(destination)에 저장하도록 지정한다

 

그리고 

install 과정이 진행이 된다

 

여기가 바로 hooks의 event가 사용되는 부분인데

  • BeforeInstall – 파일 암호화 해제 및 현재 버전의 백업 만들기와 같은 사전 설치 작업에 이 배포 수명 주기 이벤트를 사용할 수 있습니다.(여기서는 우리가 source을 destination에 저장할 공간 디렉터리를 만들어 줄 수 있습니다)
  • AfterInstall 애플리케이션 구성 또는 파일 권한 변경과 같은 작업에 이 배포 수명 주기 이벤트를 사용할 수 있습니다.(파일에 대한 권한을 줘서 다음 실행 evnet부터는 run-as가 바뀔 수 있다)
  • ApplicationStart 중에 중지된 서비스를 다시 시작하려면 일반적으로 이 배포 수명 주기 이벤트를 사용합니다.ApplicationStop(말 그대로 거기 있는 걸 실행 시킨다)
  • ValidateService – 마지막 배포 수명 주기 이벤트입니다. 배포가 성공적으로 완료되었는지 확인하는 데 사용됩니다.(잘 작동이 되는지 확인하는 부분이다)

 

이런 event들을 가지고 있다고 생각하면 된다

 

그리고 이것들이 끝이 나면 

 

다시 traffic을 연결해 주는 

 

Allowtraffic 단계가 실행 된다