패시브 스킬

<CI/CD> 도커, 깃헙 액션

디벅잉 2022. 5. 8. 22:41
728x90

 

🧭

 

도커

1. 도커 사용 전의 문제점

매번 서버에 노드, DB 등을 반복적으로 세팅하는 것이 번거롭습니다.

내 PC에서는 되는데 서버 PC에서는 안되기도 합니다. (노드 버전 문제 등)

2. 도커의 특징

도커에는 앱 구동에 필요한 모든 것을 담아둡니다.

cf) VM은 무거운 운영체제를 포함합니다.

도커는 기존 OS 위에 컨테이너 엔진을 이용해서 OS는 포함하지 않습니다.

컨테이너 엔진은 가볍습니다. (윈도우, 맥 OS 이용시에는 리눅스 OS 설치가 필요합니다)

컨테이너 엔진(도커 같은)이 Host OS에 접근합니다.

3. 컨테이너 만드는 순서

1) Dockerfile: 레시피의 역할 (필요한 파일, 디펜던시, 환경변수, 스크립트 등)

2) Image: 도커파일을 기준으로 빌드됨 (프로그래밍의 클래스와 비슷)

=> Image를 도커 허브(레지스트리)에 Push하고, 서버로 Pull한 다음 Run하여 컨테이너 생성

3) Container: 도커 이미지가 실제로 구동되는 형태 (프로그래밍의 인스턴스와 비슷)

 

깃헙 액션

아래 첨부 블로그 참고하여 작성하였습니다.

https://codegear.tistory.com/84

 

Nuxt - Github Action - Docker - EC2 자동배포(CI/CD)

다음은 이 글의 유튜브 영상입니다. https://youtu.be/E3i9qt0SS-I 프로젝트를 진행할때 많은 시간을 들여야 하는 것 중에 하나가 바로 배포입니다. 형상관리(Git)에 커밋을 하고, 서버에 파일을 업로드

codegear.tistory.com

1. 깃헙 작업

1) 원격 저장소 생성

2) 로컬로 클론

2. 로컬 작업

1) [도커] Dockerfile 생성 및 설정

2) [깃헙 액션] 깃헙 액션 관련 파일 생성 및 설정 (.github/workflows/main.yml)

3. 서버 작업

1) EC2 인스턴스 생성

2) [도커] EC2에 도커 설치

3) [깃헙 액션] EC2에 깃헙 Runner 설치

4. 자동 배포 확인

1) 코드를 수정하고 push하면 build > deploy 자동 실행

 

📌

https://www.youtube.com/watch?v=LXJhA3VWXFA 

 

 

728x90