DevOps
-
[DevOps] Jacoco와 Github Actions로 CI 구성하기DevOps 2024. 2. 14. 17:44
테스트 코드는 왜 필요할까? 테스트 코드는 소프트웨어가 의도한 대로 동작하는지 검증하여, 소프트웨어의 안정성을 보장한다. 테스트 코드 없이 기능을 개발하면 단기적으로는 작업 속도가 빠르게 느껴질 수 있지만, 서비스가 복잡해지기 시작하면, '추가된 코드가 서비스에 문제를 일으키지 않을까' 같은 불안감에 시달리게 될 것이다(경험담). 테스트코드가 이렇게 중요함에도 불구하고, 테스트 코드 작성은 번거롭기에, 마감일이 다가올수록 이를 미루게 된다. 이러한 상황에서 테스트 커버리지 측정은 큰 도움이 된다. 테스트 커버리지란? 테스트 커버리지는 코드가 얼마나 테스트되고 있는지를 나타내는 지표로, 커버리지가 특정 목표치에 도달하지 못할 경우 빌드와 배포를 차단할 수 있다. 이 방법은 바쁜 일정에도 테스트 코드 작성을..
-
[프로젝트 세팅] Docker Compose로 로컬 개발 환경 관리하기DevOps 2024. 2. 7. 18:48
배경 현재 필자는 예약 도메인에서 발생할 수 있는 동시성 문제를 알아보고 해결하는 GrabTable 프로젝트를 진행하고 있다. 본격적인 비즈니스 로직 구현에 앞서, 프로젝트 세팅을 진행하는 데 로컬 개발 환경 설정 문제에 직면했다. MySQL 8.0을 설치하고 실행하는 과정에서 예전에 설치했던 MySQL 5.X 버전과 포트 충돌이 발생한 것이다. MySQL 5.X을 종료하는 것으로 문제는 해결되었지만 로컬 개발 환경 세팅에 대한 몇 가지 불편함을 느꼈다. 중복 프로그램에 대한 포트 관리: 같은 프로그램을 여러 버전별로 설치했을 때 포트 충돌이 발생한다. 만약 두 버전을 모두 실행하고 싶을 때는 어떻게 해야 할까? 비효율적인 수동 설치: 로컬 환경은 프로덕션 환경과 최대한 일치해야 한다. 따라서 기존 프로..