본문으로 건너뛰기

hubshop-env

노트북 한 대에서 돌아가는 11개 지역 스토어

클라이언트
Healy World
연도
2025
서비스
개발자 경험, 도구, Docker
hubshop-env cover artwork

Healy는 운영 방식이 서로 거의 다른 시장들에 판매합니다. EU, 미국, 일본, 한국, 인도, 호주, 캐나다, 멕시코, 콜롬비아, 태국, 그 밖의 아시아 지역이 각각 자체 스토어를 가지며 하나의 WooCommerce 코어를 공유합니다. 플랫폼 팀의 문제는 이것을 만드는 것이 아니었습니다. 이것을 가지고 매일 작업하는 것이었습니다.

기존 방식은 한 번에 한 지역만 띄울 수 있었습니다. 지역을 바꾸려면 스택을 내리고, 다른 것을 올리고, 데이터베이스를 다시 넣어야 했습니다. 이 작업이 15분씩, 하루에도 몇 번씩, 버그 리포트가 다른 시장을 언급할 때마다 반복됐습니다. hosts 파일은 손으로 고쳤고, 인증서는 개발자마다 달랐고, 테스트를 실행할 방법이 아예 없었습니다.

hubshop-env는 WordPress의 wp-env를 포크해 다시 만든 것입니다. 전제를 '지역은 하나뿐'에서 '지역은 여럿'으로 바꿨습니다. 모든 지역이 동시에 떠 있어서 전환은 기다림이 아니라 URL 하나로 끝납니다. DNS는 dnsmasq를 통한 와일드카드이고 인증서는 mkcert에서 나옵니다. 그래서 새 지역을 추가하는 데 sudo도 수동 신뢰 설정도 필요 없습니다. 초기 세팅 시간은 20분에서 10분 미만으로 줄었습니다.

나머지는 기본기가 해결된 뒤 플랫폼 팀이 요구하는 것들입니다. 플래그로 켜는 Xdebug와 SPX 프로파일링, PHPUnit이 실행될 자리를 주는 전용 테스트 컨테이너, Docker·DNS·SSL·포트 문제를 추측 대신 바로 진단해주는 `doctor` 명령, 5기가바이트를 업로드하지 않고 데이터베이스만 받아올 수 있는 선택적 동기화, 두 브랜치를 나란히 띄우는 git worktree 지원, ngrok 계정 없이 로컬 환경을 남에게 보여줄 수 있는 명령 하나짜리 Cloudflare 터널입니다.

hubshop-env detail