プラグイン開発のワークフローはどのように構築していますか?
私はローカルの Docker 開発環境でプラグイン開発を試みています。d/boot_dev --initを実行すればプラグインを起動できますが、プラグインのコードに変更を加えた場合、その変更を反映させるには d/shutdown_dev で停止し、再度d/boot_dev --initを実行するしかないようです。これは非常に時間がかかります ![]()
**編集 → テスト → 再編集というサイクルを高速化する方法はありますか?
プラグイン開発のワークフローはどのように構築していますか?
私はローカルの Docker 開発環境でプラグイン開発を試みています。d/boot_dev --initを実行すればプラグインを起動できますが、プラグインのコードに変更を加えた場合、その変更を反映させるには d/shutdown_dev で停止し、再度d/boot_dev --initを実行するしかないようです。これは非常に時間がかかります ![]()
**編集 → テスト → 再編集というサイクルを高速化する方法はありますか?
残念ながら、特にありません。Docker 開発環境の代わりにローカルインストールを使用することは可能です。変更するたびにコンテナを停止・起動する際にはおそらくオーバーヘッドが生じますが、サーバーをローカルで実行している場合はアプリケーションの停止・起動のみで済みます。ただし、Rails 側で行う多くの変更については、停止・起動が必要になります。
一方、EmberJS の変更については、ファイルの追加・削除・名前変更を行わない限り、ブラウザのリロードだけで済むはずです。
あ、コンテナ全体を停止する必要はありません。
d/unicorn を停止して再起動するだけで、新しいコードが動作するようになります。
さらに、可能であればテスト駆動開発を行い、プラグインコードについては d/rake autospec を活用することをお勧めします。