[CI/CD] 백엔드 CI/CD에 필요한 AWS 지식

Turtle·2024년 8월 12일
0

[인프라] CI/CD

목록 보기
1/5
post-thumbnail

👉CI/CD에 관심을 가지게 된 배경

CI/CD에 대한 관심은 Django를 활용한 배달 플랫폼 개발 팀 프로젝트 경험에서 비롯되었다. 당시 프로젝트를 진행하면서 Heroku를 이용해 간단히 배포 작업을 수행했지만, AWS와 같은 클라우드 플랫폼에 대한 깊이 있는 이해가 부족해 본격적인 CI/CD 파이프라인을 구축하지 못한 것이 아쉬움으로 남았다. 이러한 경험은 인프라와 배포에 대한 지식의 중요성을 깨닫게 했으며, 보다 효율적이고 자동화된 배포 과정의 필요성을 절감하게 되었다.

현재 진행 중인 Spring 기반 개인 프로젝트에서, 최종적으로 직접 배포를 구현해보고자 하는 목표를 세웠다. 이를 위해 Docker와 AWS, 그리고 CI/CD에 대한 전반적인 이해와 활용 능력을 키우는 것이 중요하다는 생각에 이르게 되었다. 단순히 코드 개발에 그치지 않고, 개발의 마지막 단계인 배포까지 책임질 수 있는 역량을 갖추기 위해 CI/CD에 대한 학습을 시작하게 된 것이다.

특히 CI/CD는 개발과 운영 간의 경계를 허물어 개발 속도를 가속화하고, 안정성을 높일 수 있는 중요한 기술이다. 이를 통해 코드의 변경 사항이 자동으로 빌드되고 테스트되어 최종 배포까지 이루어질 수 있으며, 이러한 프로세스의 자동화는 효율성을 극대화할 수 있다. Docker를 통해 애플리케이션을 컨테이너화하여 일관된 환경에서 동작하도록 하고, AWS와 같은 클라우드 서비스를 활용해 유연하고 확장 가능한 인프라를 구축할 계획이다.

👉Spring Boot 서버를 EC2에 배포하기

  • EC2 인스턴스 내에 Spring Boot를 실행시키기 위한 JDK를 설치 후 제대로 설치가 되었는지 확인한다.
sudo apt update && /

sudo apt install openjdk-17-jdk -y

java -version
  • resources에 작성하는 application.yml과 같은 노출되면 안되는 민감한 정보의 경우 Git으로 버전 관리를 하지 않는 것이 일반적이라 application.yml같은 파일은 별도로 EC2 인스턴스에 올려주어야 한다. 하지만 application.yml 파일을 EC2 인스턴스에 올리는 작업보다는 application.yml 파일을 직접 만드는 것이 훨씬 간단하다.
  • .gitignore를 통해서 application.yml 혹은 application.properties를 버전 관리한다.

0개의 댓글