로컬개발 환경과 배포 환경을 동일하게하여, 환경에 의한 오류를 최소화하는 것을 목표로하는 로컬 개발환경을 만드는 것이 목적이다.
docker-compose를 사용하여 배포하는 환경을 가정하였으며, 로컬 개발 환경에서도 동일한 컨테이너가 구동되도록 구성하였다.
코드 변경을 감지하여 바로 적용하기 위해 directory-watcher를 사용하였다. 변경 적용 속도를 향상 시키기 위해 로컬 빌드 후, 실행파일만 컨테이너화하도록 구성하여 캐쉬를 최대한 활용하도록 하였다.
- docker
- jdk 17+
- node 18+
- golang 1.19+
$ bash cmd.sh init
# MacOS
$ ./directory-watcher/directory-watcher-macos-amd64 -c config-run.yml
# Ctrl + C 로 종료
# WSL2
$ ./directory-watcher/directory-watcher-linux-amd64 -c config-run.yml
# Ctrl + C 로 종료
# Git Bash
$ ./directory-watcher/directory-watcher-windows-amd64.exe -c config-run.yml
# Ctrl + C 로 종료
# MacOS
$ ./directory-watcher/directory-watcher-macos-amd64 -c config-watch.yml
# Ctrl + C 로 종료
# WSL2
$ ./directory-watcher/directory-watcher-linux-amd64 -c config-watch.yml
# Ctrl + C 로 종료
# Git Bash
$ ./directory-watcher/directory-watcher-windows-amd64.exe -c config-watch.yml
# Ctrl + C 로 종료
$ bash cmd.sh log
# Ctrl + C 로 종료
- react: https://localhost/react-dev
- spring: https://localhost/spring-dev/hello-view/world
- golang: https://localhost/go-dev/ping
- MacOS
- Windows WSL2
- Windows Git Bash