5

Windows(xampp)で開発されたさまざまなphpプロジェクトがあり、Linux/Windowsサーバーの組み合わせにデプロイする必要があります。

過去にcapistranoを使用してWindowsからLinuxサーバーにデプロイしましたが、アーキテクチャとWindowsサーバーの最近の変更により、古い構成が機能しなくなりました。このレシピはLinuxの展開では問題なく機能しますが、Windowsサーバーのセットアップには、現在よりも多くの時間が必要です。Capistranoレシピのアイデアは有効な答えです。明らかに、Windows / Linuxサーバーはユーザーを共有しないので、これは少し複雑になります(どこでも同じユーザー名/パスワードのcapistranoの仮定のために)。

現在、Windowsサーバーにsvn-updateを使用していますが、これはすべてのsvnファイルが本番サーバーにぶら下がっているためです。(そして、Windowsで手動でsvn-updateする必要があります)そして、winscpを使用してファイルを手動で更新し、ディレクトリを対応するLinuxと同期します。

私の質問は、この展開シナリオを自動化するためにどのツール/セットアップを提案しますか: 「2つ以上の混合Windows/Linuxマシンに展開するさまざまなphpwindows/linux開発者」

(ps:Linuxツールやcygwinを介して動作するものを使用しても問題はありません。単に、デプロイメントを単純なワンステップ操作にする必要があります)

編集:現在、すべてのLinux環境で作業することはできません。LinuxサーバーとWindowsサーバーの両方にデプロイする必要があります。どこからでもデプロイを開始できますが、どちらの環境からでもデプロイできるようにしたいと思います。

4

5 に答える 5

4

クライアント環境に応じて、4つの異なるアプローチを使用します。

  1. Capistranoおよび同様のツール(効果的ですが複雑です)
  2. rsync+からWindows、Linux、Mac(単純、規律を強制しない)
  3. svn+からWindows、Linux、Mac(単純、規律を強制しない)
  4. オンサーバースクリプト(ブラウザーを介して実行、複雑)

必要なものを推進するいくつかの要件があります。

  • 実施したい規律
  • データベース(または構成)の移行(アップおよび/またはダウン)が必要な場合
  • 静的な「私たちはダウンしています」ページが必要な場合
  • 誰が更新を行うことができますか
  • サーバー間の構成の違い

自分自身からあなたを救うのに十分な規律を強制することを強くお勧めします:開発サーバーにデプロイし、上方への移行と単純なデータベースの復元を可能にし、ライブサーバーを更新できる人を少数の責任ある管理者(開発サーバーが開いている場所)に制限しますより多くの開発者)。また、cronジョブを介して(開発サーバーに)プッシュすることを検討してください。そうすれば、増分変更のスナップショットが毎日作成されます。

ほとんどの場合、特に管理者セットが少数の開発者に限定されている場合は、サーバー側のスクリプトがいくつかあれば、どちらかsvnまたはセットアップで十分であることがわかります。rsync

于 2008-09-16T21:41:00.813 に答える
1

これはおそらくばかげているように聞こえるかもしれませんが...私は常にこの種の問題を抱えていましたが、最終的に、常にLinuxに展開している場合は、少なくともLinuxでも開発を試みるべきであると判断しました。やった。無痛でした。私は二度と戻りませんでした。

今。これが万人向けであることを示唆しているわけではありません。ただし、VirtualBoxをインストールすると、Linux インストールを Windows ボックスのローカル サーバーとして実行できます。仮想マシンでフォルダーを共有すると、既知の信頼できるすべての Windows ソフトウェアと技術を使用できターゲット プラットフォームですべてが正常に機能していることを確認できます。

さらに、展開のために Capistrano (良い選択) に戻ることができます。

何よりも、Linux / Unix を知っていると思っているなら、デスクトップで毎日使うまで待ってください! あなたがそれを好きになるかもしれないことを誰が知っています:)

于 2008-09-16T21:15:47.240 に答える
0

なぜあなたはもうcapistranoを使うことができないのですか?

なぜsvn-updateが嫌いなのですか?

アプリのどの部分に特別な展開が必要ですか?

于 2008-09-16T22:13:17.460 に答える
0

svn:ignore構成ファイルのプロパティを設定して、それらが消去されないようにしてからsvn update、Subversionリポジトリ内svn export /target/path/のファイルを削除するために使用できます。.svn

于 2008-09-17T11:56:49.277 に答える
0

Capistrano は、私が見た中で最も優れた展開ツールです。アーキテクチャの変更により、再び機能するように構成を修正できなくなりますか?

于 2008-09-16T21:13:34.327 に答える