지인의 선물로 받은 영화추천 웹서비스로 배우는 풀스택 을 훑어보던 중, Gitlab 배포를 자동화하는 부분을 보고, 이번 기회에 동일한 과정을 내가 익숙한 Github으로 따라해보고 Github Actions에 대해서도 찍먹 해보기로 했다.
0. 준비 사항 서버
API 를 배포할 AWS EC2 인스턴스 EC2 인스턴스에 연결할 때 사용될 키페어 (.pem 파일) - RSA 유형으로 생성하여 다운로드 받자 (참고링크) GitHub 계정과 프로젝트를 관리할 Github Repository
기본적으로 생성되는 main 브랜치와 별개로 deploy 브랜치를 생성해놓는다....
GitHub Actions는 CI (Continuous Integration: 지속적인 통합) 와 CD(Continouos Deployment: 지속적인 배포) 의 자동화를 지원하는 도구이다. CI/CD를 자동화 하는 일련의 작업들을 묶어 재사용하거나 공유할 수도 있다.
해당 포스트에서는 GitHub Actions의 구성요소와 형태를 간략하게 정리한다.
1. GitHub Actions 구성요소 GitHub Actions는 5가지 요소로 이루어져 있다.
Event (1) 깃헙에서 발생할 수 있는 대부분의 이벤트 Workflows (2) 이벤트가 발생했을 때 무엇이 어떤 순서로 수행될 지를 정의 Jobs (3) Workflow를 구성하는 요소 각각의 Job 내부에서도 어떤 step이 수행되어야 하는지 순서를 설정할 수 있음 step은 shell script로 명시 (또는 Action을 사용할 수 있음) Action (4) Job의 step을 이미 만들어진 Action을 사용하여 수행할 수 있음 Github 또는 3rd party에서 제공되는 것을 사용하면 됨 Runner (5) VM Machine 또는 Docker container Job은 각각의 개별 Runner라는 컨테이너에서 실행됨 2....