IDE、SVN、およびサイトへのプッシュ!
質問
私のプラクティスを更新し、少しの助けとアドバイスを探しています!
joomla、oscommerce、drupalなどを実行するサイトで多くの作業を行っているため、多くのカスタムコンポーネント/プラグインやハックなどを作成しています。現在、各サイトにはxamppセットアップに独自のフォルダーがあります。私がやりたいことは、(たとえば)Joomlaセットアップのデフォルトセットアップを使用し、変更の更新を行うと、ほぼ自動更新のように、joomlaを含む他のすべてのフォルダーを更新する何かをすることができますか?
Aptana IDE moreと unfuddle などのSVNサービスを使用して他のユーザーと作業を共有することも検討していますが、 SVNを使用したことがないので、SVNを使用して上記を実行できるかどうかわからない
多くの異なる個別のサイトを維持することなく、メイン/コアアイテムで作業し、ローカル更新と実際のサーバーの両方に更新を送信できると素晴らしいでしょう。
提案?
解決
はい、SVNはこの目的に最適なツールです。コード(例:カスタムJoomlaコンポーネント)をソース管理に保存します。そのコンポーネントを使用したい場所ならどこでも、その特定のフォルダーをライブサイトに checkout
または export
するだけです。リポジトリを構成する方法の1つを次に示します。
unfuddle.com/myRepo/trunk/com_myComponent unfuddle.com/myRepo/trunk/com_anotherComponent
SSHを介してライブサーバーにログインし、次のコマンドを実行します。
> cd path/to/joomla/components > svn co http://unfuddle.com/myRepo/trunk/com_myComponent
コードを変更するたびに、変更をコミットし、サーバーに再度ログインして実行します:
> cd path/to/joomla/components > svn up com_myComponent
これの本当の利点は、更新を行って何かを壊した場合、いつでも最後の既知の「良い」ものにロールバックできることです。バージョン。
このプロセスの自動化に関しては、別のサーバー上にある場合は運が悪いかもしれません。同じサーバーに複数の展開を行う場合、シェルスクリプトを非常に簡単に記述して、各サイト/コンポーネントに対して上記のコマンドを実行できます。これを完全に自動化する必要がある場合は、毎日午前2時などにこのスクリプトを実行するようにcronジョブを設定することもできます。
SVNリポジトリでローカルに作業する場合は、 TortoiseSVN を参照することをお勧めします( Windowsで):SVNを使用する最も簡単で簡単な方法です。
他のヒント
自動化のために、これにSVNフックを使用できます。コミット後のフックがあるため、コミットを行うたびに、フックスクリプトは他のマシンにSVN更新を実行して最新のコードを取得するように指示できます。
詳細については、 Subversionによるバージョン管理-リポジトリフックの実装。
あなたの状況に対して良い答えはありませんが、Subversion自体が答えだとは思いません。
この質問は、「プロジェクト」間で共有するためのSubversionのメカニズムに関する懸念のいくつかに対処します。
Subversionは、このパズルのソースコード管理の部分を確実に処理できます。自動配信、別のツールを使用します。
Capistrano をご覧ください。私はそれを数回使用しました、そして、あなたがそれを理解したら、それはかなり良いです。 Railsを目指していますが、リポジトリからコードを取得して別のサーバーにデプロイする必要があるすべての場所で動作するはずです。