부트캠프/백
Github Actions
티코딩
2023. 2. 6. 18:12
자동배포화에 또다른 방법으로 GithubActions를 배웠다.
ㅇ Github Actions 란?
Github가 공식적으로 제공하는 빌드, 테스트 및 배포 파이프라인을 자동화할 수 있는 CI/CD 플랫폼.
워크플로는 .yml(.yaml)파일에 의해 구성됨. 테스트, 배포 등 기능에 따라 여러개의 워크플로 만들수 있음. 생성된 워크플로는 .github/workflows 디렉토리 이하에 위치하게 됨.
공개 레포지토리는 무료로 사용가능
ㅇ Github Actions
main 브랜치에 적용된 변동 사항을 기준으로 프로젝트를 빌드함. 빌드를 마친 프로젝트를 S3 버킷에 저장하고 Code Deploy에 S3에서 EC2로 배포 명령을 내림
ㅇ S3
저번엔 S3를 정적 웹 페이지 배포에 사용했다. 이번엔 저장소로써 사용함.
Github Actions에서 빌드한 결과물이 압축되어 S3로 전송되고, 버킷에 저장됨.
ㅇ Code Deploy
Github Actions에서 배포명령을 받은 Code Deploy는 S3에 저장되어있는 빌드 결과물을 EC2 인스턴스로 이동함. appepec.yml 파일에 의해 쉘 스크립트 단계에 따라 특정 동작을 함.
*Code Deploy Agent 설치 필요*
ㅇ EC2
Code Deploy에 의해 빌드 과정을 거친 프로젝트가 EC2인스턴스로 전달되고 .yml파일과 .sh에 의해 각 배포결과를 로그로 저장하고 빌드 파일을 실행함.