- 학습과 경험을 위한 새 프로젝트 진행
- AWS EC2 인스턴스에서 Spring Boot 어플리케이션을 배포하고 운영
- GitHub Actions를 사용하여 CI 구현
- EC2 Ubuntu 스왑파일을 활용한 메모리 할당
처음에는 기존 프로젝트를 EC2에서 띄우고, GitHub Actions를 사용하여 CI를 구현해 보려고 했다.
그런데 문득 새 프로젝트를 만들어서 아직 해보지 않은 기능들을 적용해보면 어떨까라는 생각이 들었다.
그 이유는 빌드 및 테스트 작업에 불편함을 느껴 이전 프로젝트에서는 Jenkins를 이용하여 CI를 구현했지만, 마무리 작업으로 처리하여 실제 CI의 편리함을 경험하지 못한 것 같았기 때문이다. 또한 현재 프로젝트에서는 이미 Jenkins를 적용했기 때문에 새로운 프로젝트를 만들어 다양한 기능들을 적용해보는게 더 좋을 것 같다는 생각이 들었다.
그래서 홀맨님과의 면담을 통해 의견을 교환하고 방향성을 잡은 후, 새로운 프로젝트를 시작했다.
EC2 적용은 이미 연습용으로 만든 프로젝트와 이전 프로젝트로 연습을 해보았기에 큰 어려움 없이 작업할 수 있었다.
하지만 AWS 프리티어로 작업하다보니 프로젝트 빌드와 같은 작업을 진행하면 인스턴스가 멈추는 현상이 자주 발생했는데, 이에 대처하기 위해 이번에는 스왑 파일을 활용하여 메모리를 할당해주었다.
GitHub Actions를 사용한 CI까지는 모두 구현으니 이제는 핵심기능인 채팅 기능을 만들어 볼 생각이다.
연습용 레포지토리를 만들어 작업하기
이번에 AWS 작업, 그리고 CI 작업을 구현하면서 연습용 레포지토리를 만들어서 미리 작업을 해보았다.
조금 더 시간이 걸리는 작업이었지만, 반복을 통해 연습량이 늘어나고 여러가지 실험을 해보면서 더 경험치를 쌓을 수 있었던 것 같다.
다음에도 기술적으로 적용할게 생기면 작은 실험을 할 수 있는 레포지토리를 따로 생성해 마음껏 실험해보도록 하자.
이번주는 잘못한 점이 없었다.
github actions 파이프라인을 통해 ci를 구축하는 법
스왑 파일을 이용해 메모리를 할당하여 성능을 최적화하는 방법