본문 바로가기

AWS

[CI/CD] 배포 방법

Intro.

  1. 프론트와 백엔드 배포 방법은 동일하다.
  2. prod 환경과 dev 환경의 구분은 repository로 한다.
  3. master branch가 배포 branch이다.
  4. workflow 이름은 deploy로 통일한다.
  5. versioning은 git commit hash값으로 한다.
  6. master가 아닌 브런치로 배포하지 않는다.

 

[1] workflow 위치 찾기

 

[2] dev deploy 방법

  • 브런치 master 확인
  • 수동으로 Run workflow 버튼 클릭

 

[3] git commit hash 값 찾는 2가지 방법

(1) git rev-parse --short @ 명령어 사용

  • git rev-parse --short @
  • @는 head값을 의미하며 @~1 이렇게 숫자를 입력해 내가 배포하고 싶은 해쉬값을 바로 구할 수 있다.
  • 참고로 head는 0부터 시작한다.

  • 여기에서 롤백을 head 아래에 있는 5번째 해쉬값으로 하고 싶다면,
  • git rev-parse --short @~3
  • 이렇게 입력해주면 된다.
  • 왜 4가 아니라 3이냐면, origin이 다른 브런치의 커밋값은 카운트하지 않는다. 또한, 해당 브런치에서 merge한 commit값으로 보통 배포를 해서 실제로 versioning이 되므로 다른 브런치의 커밋값은 신경쓰지 않아도 된다.
  • 물론 다른 브런치의 커밋 해쉬값은 여러 개일 수 있다.

 

(2) dev deploy workflow에서 해쉬값 찾기(recommanded)

 

 

 

  • prod나 rollback하고 싶은 deploy 버전 선택
  • 해당 workflow의 커밋 해쉬 복사 후 붙여넣기
  • 이름 옆에 -0- 있는 값이 해당 workflow 해쉬값이다.

[3] dev rollback 방법

 

 

  • 이렇게 롤백하고 싶은 master 브런치 커밋 해쉬값을 입력한다.

[4] prod deploy 방법

  • 여기에는 당연히 prod 커밋 해쉬값이 아닌 dev 커밋 해쉬값이 들어가야한다.