플러그인 개발 워크플로우

플러그인 개발 워크플로우를 어떻게 설정하고 계신가요?

로컬 Docker 개발 환경에서 플러그인 개발을 조금씩 시도해 보고 있습니다. d/boot_dev --init를 실행하면 플러그인을 실행할 수 있습니다. 문제는 플러그인 코드를 수정했을 때, 제 변경 사항을 확인하려면 d/shutdown_dev를 실행한 뒤 다시 d/boot_dev --init를 실행해야 한다는 점입니다. 이 과정은 너무 느려서 고통스럽습니다 :sadpanda:

수정 > 테스트 > 다시 수정하는 사이클을 더 빠르게 만드는 더 나은 방법이 있을까요?

아쉽게도 크게 다르지는 않습니다. Docker 개발 환경 대신 로컬 설치를 사용하는 방법을 고려해 볼 수 있습니다. 변경 사항이 있을 때마다 컨테이너를 시작/중지하는 데는 어느 정도의 오버헤드가 발생할 수 있지만, 서버를 로컬에서 실행하는 경우 단순히 앱을 시작/중지하면 됩니다. 다만, Rails 쪽에서 많은 변경 사항을 수행하는 경우에도 시작/중지 과정이 필요할 것입니다.

반면, EmberJS 변경 사항은 파일을 추가/삭제/이름을 바꾸는 경우가 아니라면 브라우저에서 새로고침만 하면 됩니다.

아니, 컨테이너 전체를 중지할 필요는 없어요.

단순히 d/unicorn을 중지하고 다시 시작하면 새 코드가 실행될 거예요.

또한 가능한 한 테스트 주도 개발(TDD)을 권장하며, 플러그인 코드의 경우 d/rake autospec을 활용할 수 있습니다.