백엔드 개발자분들이 여럿 합류하게됐다. 현재는 나포함 총 4명인데 사람이 늘어나니 개발환경 구축 지원에 시간을 많이 들이게 됐다. 처음 합류하면 로컬에서 서버를 띄우는게 첫 시작이니 만큼, 해당 온보딩을 빠르게 진행할 수 있도록 로컬 개발환경 구축을 빠르고 간편하게 하는 작업을 시작했다.
로컬환경 구축의 어려운점은 크게 이랬다.
version: '3'
services:
mysql-8:
image: 'mysql:8'
ports:
- '13306:3306'
environment:
MYSQL_DATABASE: buddystock_local
MYSQL_ROOT_PASSWORD: root
TZ: "Asia/Seoul" # 시간대 설정 추가
ulimits:
nofile:
soft: 65536
hard: 65536
#redis config
redis-server:
hostname: redis
image: 'redis:5.0.6'
ports:
- "16379:6379"
privileged: true
# LocalStack config
localstack:
image: localstack/localstack
ports:
- "4566-4599:4566-4599"
- "${LS_ELASTICSEARCH_HTTP_PORT:-9200}:9200"
environment:
- SERVICES=sqs
- DEBUG=1
- DATA_DIR=/tmp/localstack/data
- PORT_WEB_UI=8080
- LAMBDA_EXECUTOR=local
volumes:
- "${TMPDIR:-/tmp/localstack}:/tmp/localstack"
- "/var/run/docker.sock:/var/run/docker.sock"
- ./start-localstack.sh:/etc/localstack/init/ready.d/start-localstack.sh
flyway, docker compose를 적용하고 나니 로컬에서 git clone 받고 환경 변수만 넣으면 바로 서버가 뜨게 되었다. 생산성 향상을 위한 고민은 계속 될 것이고 다음은 환경변수도 형상관리를 할 수 있게 하는 것이 목표이다!