6

私は、ローカル マシン、ステージング サーバー、多数の運用サーバーを備えた Web 開発会社で働いていました。私たちは perl で mac を操作し、svn を使用してステージにコミットし、perl スクリプトを使用して運用サーバーにロードしました。現在、私は自分のプロジェクトに取り組んでおり、共有 Web ホスティングを使用し、UNIX ベースの環境で作業していない場合の Web 開発の優れたプラクティスを見つけたいと考えています (perl/bash スクリプト/cron ジョブなどで実行できるすべての魔法を使用)。

したがって、私の質問には次の条件が与えられます。

  • 外部プロバイダーから単一の標準共有 Web ホスティングを使用しています (ssh アクセスあり)
  • 私は少なくとも 1 人の他の人と作業しており、ソース管理に SVN を使用するつもりです
  • Windows で php/mysql を開発しています (ただし、Linux を使用することも可能です)。

コード/データのテスト、展開、移行のためにどのような設定をお勧めしますか? ローカル マシンに xampp サーバーがインストールされていますが、Windows でデータなどを移行するためにどの方法を使用するかがわかりませんでした。

4

3 に答える 3

1

SVNに関しては、beanstalkのような専用のSVNホストを使用するか、同じサーバーマシンを使用してSVNサーバーを実行し、両方の開発者が作業できるようにすることをお勧めします。

後者の場合、展開スクリプトはビットをステージングWebフォルダー(beta.mysite.comからアクセス可能)に移動するだけで、別の展開スクリプトがそれをライブWebディレクトリに移動できます。ライブサイトに直接デプロイすることは明らかに良い考えではありません。

専用ホストを使用する場合、またはマシンからサーバーにデプロイする場合は、rsyncを使用してください。これは私の現在の設定でもあります。RSyncは(SSH経由で)差分同期を行うため、高速で、この種のもののために構築されました。

成長するにつれて、単体テストなどでビルドツールを使い始めることができます。これにより、データ同期の問題のみが残ります。

リモート->ローカルからのデータのみを同期し、 mysqldumpを使用してSSH経由でこれを行うDOSバッチファイルを使用します。CygwinはWindowsマシンに役立ちますが、スキップできます。SQLインポートスクリプトは、1行のクエリを実行して、ホスト名やWebルートなどの一部のセルをローカル展開用に更新します。

この設定が完了すると、コードの記述とリモートデプロイメント、またはローカル同期に集中でき、デプロイメントはワンクリックプロセスになります。

于 2009-08-15T13:11:53.387 に答える
1

1 つのオプションは、タスク専用のフレームワークを使用することです。Capistranoは、php などのスクリプト言語に非常によく適合します。これは Ruby に基づいていますが、検索すると、php アプリケーションをデプロイするための使用方法に関する説明が見つかるはずです。

于 2009-08-15T14:08:30.110 に答える