Github Actions를 사용해 CICD 구축 2가지 방법

LeeKyoungChang·2023년 9월 1일
0
post-thumbnail

🤔 현재 무슨 상황일까?
Github Actions를 사용해 CI/CD를 구축하다, 가상서버에서 배포파일을 실행해야하는 상황이다.

(1) 가상 서버에 ssh로 접속하자
(2) AWS CodeDeploy, S3, EC2를 활용하자

 

📖 두 개의 장단점은 어떻게 될까?

 

💡 참고

ChapGPT를 활용해 얻은 내용입니다.

 

Github Actions을 사용한 Oracle Cloud (EC2) SSH 및 커맨드 실행

✔️ 장점

  • 더 단순한 시나리오로 시작하여, 프로젝트에 필요한 커스텀 로직을 빠르게 구축 가능하다.
  • 외부 서버에 대한 SSH 및 커맨드 실행은 간단하므로, 초기 설정이 비교적 간단하다.

 

✔️ 단점

  • 서비스 간의 연동 및 배포 자동화를 위해 추가 작업이 필요하다. (수동 작업)
  • 프로젝트가 성장하면 더 복잡한 배포 구조를 지원하기 어려울 수 있다.

 

 

Github Actions을 사용한 S3, CodeDeploy, EC2 배포

✔️ 장점

  • AWS 서비스 간의 통합 및 자동화가 필요한 경우 적합하다.
  • CodeDeploy를 사용하여 배포 단계를 관리하고, EC2 인스턴스에 대한 배포를 간편하게 처리할 수 있다.

 

✔️ 단점

  • AWS 서비스에 대한 깊은 이해와 설정이 필요하다.
  • 복잡한 설정 및 IAM 역할 관리가 필요할 수 있다.

 

 

🤖 두 개는 어떨 때 사용되는 걸까?

  • 프로젝트의 규모와 복잡도 : 프로젝트가 복잡한 인프라와 다단계 배포를 필요로 하는지, 아니면 단순한 배포가 가능한지 고려해야 한다.
  • 확장성 및 유지보수성 : 프로젝트가 성장할 경우 어떤 시나리오가 더 쉽게 확장 가능한지를 고려해야 한다.

 

복잡한 시나리오에서는 AWS CodeDeploy를 사용하면 될 것 같고, 간단하다면 SSH 및 커맨드 실행을 하면 될 것 같다.

개인적으로는 SSH 및 커맨드 실행은 모두 수동으로 배포하는 작업을 그대로 자동화한 것이라서 좋지 않다고 생각한다.

그래서, 나는 AWS에서 제공하는 CodeDeploy를 활용해 토이프로젝트를 완성할 것이다.

 

 


profile
"야, (오류 만났어?) 너두 (해결) 할 수 있어"

0개의 댓글