진행하고 있는 프로젝트에서 테스트 데이터베이스 환경을 H2가 아닌 MySQL로 구성하였다. 따라서 CI를 진행할 때 동작하고 있는 MySQL 서버가 필요로 하게 된다. CI는 Github Action을 통해서 진행하는데, Github Action은 워크플로우가 실행될 때마다 매번 새로운 환경을 구성하기 때문에 워크플로우에서 프로젝트에서 정의한 테이블 정보를 가지고 있는 MySQL을 실행시켜 주는 작업이 필요하다. Github Action에서 MySQL 실행을 도와주는 도구가 존재했지만, MySQL 서버를 설정하고 실행만 시켜주기에 테이블 생성과 같은 데이터베이스 초기화를 위해 추가적인 작업이 필요했다. 다른 방법을 추가적으로 고민하다 테이블 정보를 담은 DB 도커 이미지를 Github Action에 가져..
Docker 도커는 컨테이너 기술을 활용한 가상화 플랫폼입니다. 서버에서 컨테이너란 호스트 시스템의 다른 모든 프로세스와 격리된 프로세스입니다. 컨테이너 기술은 해당 컨테이너를 실행시킨 HostOS의 기능을 그대로 사용하면서 프로세스를 격리해 독립된 환경으로 만드는 기술입니다. 가상화 기술은 물리적 자원을 효율적으로 활용하기 위해 가상의 머신을 만드는 기술입니다. 다시 정리하면 도커는 물리적 자원을 효율적으로 활용하기 위해 독립된 환경을 만드는 기술입니다. 사용 이유 애플리케이션의 개발과 배포가 편리해진다. 동일하게 작성된 애플리케이션이라도 실행 환경이 달라지면 예상하지 못한 결과가 발생할 수 있습니다. 도커는 이미지에 애플리케이션뿐 아니라 개발 환경까지 담을 수 있기에 쉽게 동일한 환경에서 애플리케이션..