본문 바로가기
부트캠프 개발일기/Cloud

76일차: Github Actions

by shyun00 2023. 6. 1.

배포 자동화를 하는 방법에는 여러가지가 있다.

어제는 AWS CodeBuild, CodeDeploy, CodePipeline을 이용한 방법을 학습했다.

오늘은 Github Actions를 사용하는 방법에 대해 알아본다.

 

❯ Github Actions

Github Actions는 Github이 공식적으로 제공하는 빌드, 테스트, 배포 파이프라인을 자동화하는 CI/CD 플랫폼이다.

레포지토리에 발생할 수 있는 이벤트를 트리거로 설정하여 Workflow를 구성할 수 있다.

Workflow는 자동화 프로세스로, 자체 가상 머신이나 컨테이너 내부에서 실행된다.

워크플로우는 .yml(yaml) 파일에 의해 구성되며 기능별로 여러개의 워크플로우를 만들수도 있다.

.github/workflows 디렉토리 이하에 위치하도록 만든다.

 

작업 흐름은 다음과 같다.

출처: 코드스테이츠

1. 레포지토리에 변화가 생기면 Github Actions가 작동한다. (ex. main 브랜치에 push할 때마다 작동)

2. Github Actions가 빌드한 결과물을 압축파일 형태로 S3로 저장된다.

3. Github Actions가 CodeDeploy에게 배포를 명령한다.

4. 배포 명령을 받은 CodeDeployr가  S3에서 빌드 결과물을 가져오고 appspec.yml 설정파일에 의해 쉘스크립트 등 정해진 작업을 수행한다.

5. 빌드과정을 거친 프로젝트가 EC2 인스턴스로 전달되고, .yml 파일과 .sh 에 의해 빌드 파일을 실행한다.

(알맞은 Code Deploy Agent와 JDK 버전 설치가 필요함)


오늘은 지난번 수업에 비해 비교적 간단한 내용이었다.

페어분과 함께 과정을 수행했는데 나는 교재에서 하라는 그대로 따라해서 큰 오류 없이 내용을 완료했는데

페어분은 일부러 여러가지 오류도 발생시키고 그걸 해결해가면서 배우기 위해 교재와는 살짝 다른 방향들로 학습을 진행했다.

가끔은 그런 과정을 통해 많이 배울 수 있겠다는 생각이 들었다. (실제로 조금 재밌어보이기도 했다.)

이번주에 복습을 진행하면서 나도 한번 프로젝트 이름이나 조건을 살짝 수정해서 진행해볼 계획이다.

부디 무사히 잘 해결해갈 수 있기를!! ㅎㅎ

'부트캠프 개발일기 > Cloud' 카테고리의 다른 글

77일차: 운영 전략  (0) 2023.06.02
75일차: AWS 배포 자동화(Automated Deployment)  (0) 2023.05.31
74일차: Docker  (0) 2023.05.30
73일차: 3 Tier Architecture 배포 실습  (0) 2023.05.26
72일차: 배포(AWS)  (0) 2023.05.25