プラグイン開発ワークフロー

プラグイン開発のワークフローはどのように構築していますか?

私はローカルの Docker 開発環境でプラグイン開発を試みています。d/boot_dev --initを実行すればプラグインを起動できますが、プラグインのコードに変更を加えた場合、その変更を反映させるには d/shutdown_dev で停止し、再度d/boot_dev --initを実行するしかないようです。これは非常に時間がかかります :sadpanda:

**編集 → テスト → 再編集というサイクルを高速化する方法はありますか?

「いいね!」 1

残念ながら、特にありません。Docker 開発環境の代わりにローカルインストールを使用することは可能です。変更するたびにコンテナを停止・起動する際にはおそらくオーバーヘッドが生じますが、サーバーをローカルで実行している場合はアプリケーションの停止・起動のみで済みます。ただし、Rails 側で行う多くの変更については、停止・起動が必要になります。

一方、EmberJS の変更については、ファイルの追加・削除・名前変更を行わない限り、ブラウザのリロードだけで済むはずです。

「いいね!」 2

あ、コンテナ全体を停止する必要はありません。

d/unicorn を停止して再起動するだけで、新しいコードが動作するようになります。

さらに、可能であればテスト駆動開発を行い、プラグインコードについては d/rake autospec を活用することをお勧めします。

「いいね!」 4