일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 웹 서버
- virtualization
- 백엔드
- mysql
- 스프링 배치
- CS
- spring batch
- 도커
- 스프링 시큐리티
- Spring
- HTTP
- spring cloud
- 영속성 컨텍스트
- JPA
- Java
- web server
- 스프링 부트
- 스프링
- ORM
- 가상화
- Container
- 컨테이너
- vm
- 데이터베이스
- 배포
- 자바
- spring boot
- computer science
- Spring Security
- CI/CD
- Today
- Total
목록DevOps/CI CD (2)
개발 일기

도입한 계기기존에 나는 Spring Boot로 구현한 백엔드 서버를 배포하는 과정은 처음에는 수작업으로 Dockerfile을 작성하고, 빌드한 이미지를 Docker Hub에 업로드한 후 EC2 서버에서 이를 pull하는 방식으로 진행했다. Nginx 역시 config 파일과 Dockerfile을 작성하고 빌드하여 동일한 방식으로 Docker Hub에 푸시하고 EC2에서 pull해오는 과정을 거쳤다. 이러한 과정을 하나하나 수동으로 처리하다 보니, 소스 코드에 수정이 있을 때마다 수정된 버전을 재배포하기 위해 반복적으로 이미지를 삭제하고, 컨테이너를 지우는 작업을 수행해야만 했다. 이렇게 적으면서만 봐도 너무 번거럽고 귀찮은 작업이다.이러한 반복적인 배포 과정을 자동화하기 위해 Jenkins나 GitHub..

왜 공부하게 됐나?최근 단순히 express, spring boot 프레임워크를 통해 로컬에서 개발하면서 배포 인프라 공부에 항상 부족함을 느꼈다. 어쨋든 로컬에서만 돌려서는 실제 서비스를 할 수가 없는데 지금 당장 프레임워크만 다뤄서 될게 아니라 도커, 쿠버네티스, 깃 액션 등 CI/CD에 대한 나의 능력도 키워야 되겠다는 생각이 들었다. 그래서 Docker부터 공부하기 시작했고 EC2에 Git Actions을 통해 CI/CD 자동화에 성공했다고 생각했다. 근데 평소에 단순히 CI/CD가 통틀어 배포겠거니 생각하고 썼는데 내가 좀 잘 못 생각하고 쓰고 있었던 것 같다. 그래서 우선 CI/CD가 무엇인지에 대해 정리해보자 블로그를 쓰게 됐다.배경개발을 해보니 실제 서비스를 배포할 때 까지는 소스 코드 개..