質問

私のプラクティスを更新し、少しの助けとアドバイスを探しています!

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を目指していますが、リポジトリからコードを取得して別のサーバーにデプロイする必要があるすべての場所で動作するはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top