質問
外部システムと対話するプラグイン コードに関する問題に対処する良い方法は何ですか?
具体的で代表的な例を挙げると、Subversion と Eclipse を使用して WordPress 用のプラグインを開発したいとします。WordPress のメインコード本体は Web サーバーにインストールされ、プラグイン コードはそのサーバーのサブディレクトリで利用できる必要があります。
コードのコピーを開発マシンの Web ディレクトリに直接チェックアウトする方法はわかりましたが、これを IDE と統合するにはどうすればよいでしょうか?
ここでは、プラグインのすべてのコードが 1 つのディレクトリの下にあると仮定しています。
ほとんどの人は、プラグインを IDE のプロジェクトとして追加し、「メイン」ソフトウェア システムが望む場所にそのプロジェクトの作業フォルダーを配置しますか?それともホーム ディレクトリへの何らかのシンボリックリンクを使用するのでしょうか?
解決
簡単な答え - 開発サーバーと運用サーバーで SVN から直接適切なディレクトリをチェックアウトします。
あなたの例の場合:
通常どおり IDE で開発し、テストの準備ができたら、ローカル リポジトリにチェックインします。開発 Web サーバーでそのディレクトリをチェックアウトすると、簡単にテストできるようになります。
実稼働の準備ができたら、変更を実稼働ブランチにマージし、実稼働 Web サーバーで SVN 更新を実行します。
他のヒント
私が働いている場所では、 ファイル同期プラグイン この目的には Eclipse を使用しますが、このプラグインでは、ターゲット ディレクトリ内のファイルが時々失われるという奇妙な現象が見られました。全体の構造は次のとおりです。
- 目的の場所にターゲット ディレクトリを作成する Ant タスク (主にコピー コマンド経由)
- ファイル同期プラグイン コード作成時に開発場所とターゲット場所の間でファイルの同期を保つように構成されます (Eclipse 出力フォルダーを Web サーバーのクラスパス内の場所に同期するなど)。
もちろん、シンボリックリンクが適切にサポートされているシステムでは、シンボリックリンクがより適切に機能する可能性があります:-)
私にとって、開発フォルダーを指すシンボリックリンクを追加することは、問題に対するきちんとした解決策のように思えます。
メイン プロジェクトが別のマシン/Web サーバー上にある場合は、sshfs などを使用して開発ディレクトリを Web サーバー上の適切な場所にマウントできます。