[TIL 2021.10.02] 자동배포..how..?

Kyu·2021년 10월 2일
0

TIL

목록 보기
265/322

Today I Learned

깃헙으로 자동배포 방법에 대해 알아보고 생각해보았다.

깃헙 특정 브랜치를 Github Actions 가 push 할때 특정 이벤트를 통해 자동 배포하는 방법이 있다.

그 특정 이벤트는 보통 배포를 위한 브랜치에 push를 하면 Github Actions 서버에 코드들을 가져와서 빌드하고 AWS S3에 빌드된 파일을 올리는 것이다.

아마 배포 서버에서는 스케줄러를 통해 AWS S3를 감지해서 빌드된 파일을 가져오는 것 같다.

자바에서는 빌드된 jar 파일 하나를 가져오면 그걸 서버를 열면 끝이다.

무중단 배포를 위해서는 복제된 서버를 하나 만들고 거기에 배포를 해주고 라우팅 해주는 걸로 알고있다.

궁금한건 php 처럼 컴파일없이 소스만 바꾸면 바로 적용되는 스크립트 언어는 빌드만 안해주는 것 뿐이지 과정은 똑같이 하면 되는건가?

첨엔 파일들을 하나하나 가지고오면서 서버에 적용시키면 파일마다 적용시킬때 버전 싱크가 맞지않아 사용자가 에러를 볼텐데 어떡하지 하다가 아까 말한거처럼 서버를 하나 더 만들면 해결 되는듯하다. 아니 그러면 그 라우팅해주는 과정도 또 자동으로 해주는 작업을 해줘야하는건가? 뭔가 내 생각들에서 구멍이 있는거 같은데...

근데 일단은 딱히 그렇게 안할 이유가 없는거 같아 그렇게 하면 될것같다.

Github Actions 를 통해 아직 아무것도 해보진 않았지만 먼저 직접 해봐야겠다.
사람들이 많이 쓰는 Jenkins 로도 해봐야겠다.

그리고 간단하게 자동배포를 해볼수있는 git hook 이라는 것을 발견했다.

이것도 특정 브랜치에 push하면 hook되서 배포서버에서 스크립트 파일로 자동으로 pull을 해서 가져오는 모양인데, 아직 어떻게 해야할지 모르겠다. 이걸로 먼저 해봐야겠다.

profile
TIL 남기는 공간입니다

0개의 댓글