2️⃣

GithubActions로 CICD구축-AWS편 (with Springboot) (Atties프로젝트)

작성일자
Mar 7, 2023
태그
WEB/INFRA
HIGHLIGHT
프로젝트
Atties
책 종류
💡
(중요) 본 포스팅은 앞에 GCP편에서 이어집니다. GCP편의 3-[1] 까지 보시고서 해당 포스팅을 보시면 됩니다!

1. (GCP편과 동일) 환경변수 설정

  • GCP편을 보고 와주세요! 내용이 완벽히 같습니다.

2. (GCP편과 동일) CI 구축

  • GCP편을 보고 와주세요! 내용이 완벽히 같습니다.

3. CD 구축

[1] (GCP편과 동일) docker image 생성하고 docker hub에 푸시하는 작업 자동화

  • GCP편을 보고 와주세요! 내용이 완벽히 같습니다.

[2] AWS EC2 instance 환경에서 해당 이미지 pull 받아와 배포하는 작업 자동화

💡
주의할 점!
  • 도커 허브 리포지토리는 꼭 Private으로 생성해주세요!
  • 만일 public으로 생성하고 싶으시다면, github secret을 사용하지 않고 docker secret을 적용해줘야 하는 데 해당 블로그는 그 부분 내용까지 포함하고 있지 않습니다.

1) deploy.yml 파일에 아래 코드를 추가해줍니다.

 

2) ppk로 openSSHkey 파일 생성 (혹은 pem 파일 생성)

  • PuTTYgen에서 Load 클릭해서 기존에 aws ec2에 putty로 접속할 때 썼던 ppk 파일을 선택합니다.
    • 혹시, ppk 파일이 없다면, aws > ec2 > 네트워크 및 보안 > 키 페어 > 키 페어 생성에서 ppk 파일을 생성해주세요.
  • Key passphrase에 원하는 비밀번호를 입력해주세요.
  • Conversions 탭을 눌러 ExportOpenSSHkey를 클릭해주세요.
  • 생성된 openSSHkey 파일을 원하는 경로에 저장해주세요.

3) github에 환경변수 등록

  • SSH_PRIVATE_KEY라는 이름으로 아까 로컬에 저장해둔 openSSHkey(혹은 pem) 파일의 내용을 그대로 복사해와 붙여 넣어줍니다. (중요,,,,)
  • SSH_USERNAME라는 이름으로 아까 Key comment 내용을 넣어줍니다. ex) ubuntu
    • putty로 접속하실 때 ubuntu@public-ip로 접속하셨다면 @ 앞에 내용인 ubuntu을 넣어줍니다. 다른 것이었다면 다른 것으로 넣어주세요.
  • SSH_PASSPHRASE라는 이름으로 Key passphrase 내용을 넣어줍니다.(pem은 패스)

4) 커밋을 날려 제대로 배포되는지 확인합니다.

이번엔 3번째만에 성공했네요!
notion image
notion image
GithubActions로 CICD구축-AWS편 (with Springboot) (Atties프로젝트)