본문 바로가기
Git

[AWS EC2, Github Action, Docker, Node] CICD 구축하기(3) - github repository 세팅

by 상똥 2024. 8. 7.

 
차근차근 따라하면 할 수 있습니다 화이팅


● 단계 링크
CICD 구축하기(1) -  Dockerfile 만들기
CICD 구축하기(2) - EC2 인스턴스 생성하기, 세팅하기
▶ CICD 구축하기(3) - github repository 세팅
CICD 구축하기(4) - workflow 작성하기


목표
- 깃허브와 EC2 인스턴스를 연결한다
- 깃허브 시크릿에 환경변수를 설정한다
 
목차
1. 깃허브와 EC2 인스턴스 연결하기
2. 깃허브 시크릿에 환경변수 추가하기


[1. 깃허브와 EC2 인스턴스 연결하기]

1. 로컬에서 인스턴스에 접속한 터미널 준비

- 로컬 접속 시 필요한 정보 : 퍼블릭 IPv4 주소, 키 페어 위치와 이름
퍼블릭 IPv4 주소 : 인스턴스 ID를 눌러 세부 정보를 확인하면 바로 볼 수 있다

- 키 페어 위치와 이름 : 필자는 Downloads/my-key.pem 이었음
- 아래 명령어를 입력해 인스턴스에 접속한다

ssh -i [키페어 경로와 이름] ubuntu@[퍼블릭 IPv4 주소]
# 인스턴스를 우분투가 아니라 리눅스로 만들었다면 ubuntu 대신 ec2-user를 써준다

- 필자는 아래처럼 입력하면 된다

ssh -i Downloads/my-key.pem ubuntu@43.202.41.116

- 혹시나 "WARNING: UNPROTECTED PRIVATE KEY FILE!"이라는 경고와 함께 접속이 안되면 키 보안을 위해 터미널을 켜서 아래 명령어를 입력한 후 다시 시도하면 접속이 될 것이다

chmod 600 [키 페어 경로와 이름]

- 로컬에서 인스턴스 접속 완료

 

2. 리포지토리 준비

- 배포하고자 하는 리포지토리에 들어간다
- Settings 탭 → Actions의 runners에서  Linux를 선택한다
- 아래 나오는 코드를 한 줄씩 로컬 인스턴스에 접속한 터미널에 입력해준다
- 맨 아래의 Using your self-hosted runner는 나중에 워크플로우에 쓸 것이고 터미널에 입력할 사항이 아니다

- Download 명령어 복붙한 모습

- Configure 명령어 복붙한 모습


[2. 깃허브 시크릿에 환경변수 추가하기]

- 배포 및 코드가 작동하는데 필요한 .env 파일의 내용을 등록하는 작업이다
- Secrets에 등록할 것이다
 

1. 환경변수 등록하는 방법

- Settings → Secrets and Variables → Secrets → New repository secret 클릭

- 아래처럼 Name에는 키값을, Value에는 값을 입력해주면 된다

 

2. 등록할 환경변수

1) EC2_HOST : 인스턴스의 퍼블릭 IPv4 주소
2) EC2_SSH_KEY : 인스턴스를 생성할 때 발급받은 .pem 형태의 파일 안에 기재된 값
- 보는 법 : 터미널 창을 새로 켜서 아래 명령어를 입력하면 된다
- 주의할 것은 전체를 복사하여 Value에 -----BEGIN RSA PRIVATE KEY----- 와 -----END RSA PRIVATE KEY-----까지 다 넣어주어야 한다는 것이다. 줄바꿈도 수정하면 안 된다!

cat [키가 존재하는 경로와 키 값]

#필자는 아래와 같이 입력하면 된다
cat Downloads/my-key.pem

 
3) EC2_USER : ubuntu (인스턴스를 리눅스로 생성했다면 ec2-user) 근데 생각해보니까 이걸 왜 시크릿에 넣는지 모르겠다
4) GHCR_TOKEN : 오른쪽 위 프로필사진 클릭 → Settings → < > Developer settings → Personal access tokens → Tokens (classic) → Generate new token을 통해 생성하여 입력한다. 이때 scope는 아래와 같이 설정한다

5) 기타 .env 변수들
- 다 등록하고 나면 아래와 같이 된다


다음 글 링크 ↓
CICD 구축하기(4) - workflow 작성하기