0

私は誰かが以前にこの問題に遭遇し、助けることができることを望んでいます

したがって、問題は次のようになります。2人の開発者がいて、それぞれに2つのバージョンのWebサイト(開発+本番)が必要です。オペレーティングシステムが大きく異なるため、3つの構成が困難であり、管理上の制限があるため、プロジェクトをローカルで実行することはできません。しかし、それらをリモートで実行している間、たくさんの問題があります:

  • NetbeansでSymfony2CLIコマンドを実行する方法(これらのコマンドはdbにアクセスする必要があるため)?
  • 生産/開発をどのように区別しますか?2つのIPアドレスに対してdbへの外部アクセスを許可しましたが、parameters.iniファイルは1つだけです。そして、ローカルホストへの接続に使用されると(httpで実行される場合)、次にリモートホスト経由で接続するために使用されます(CLIコマンドがnetbeansで実行される場合)。

あなたが尋ねるかもしれないより多くの情報、それでここにそれは行きます:

  • 開発#1:Kubuntu 12.04x643.2.0-25-汎用NB@7.1.2
  • 開発#2:Windows 7 x64 NB@7.1.2
  • サーバー:Ubuntu Server 12.04 x64
  • SQL:PostgreSQL
  • Webサーバー:Apache2

これで、ワークフローは次のようになります(または少なくとも表示されるはずです)。

  1. Dev#1はローカルで何かを実行しますが、実行時に変更がサーバーに移動されるため、彼はそれがどのように行われたかを確認できますbeta1.sitename.com
  2. 必要に応じて、各変更はgitのユーザーブランチにコミットされます。
  3. テスト後、変更はマスターにマージされ、テストされ、にプルされてから、sitename.com再度テストされます。
  4. この後、サイクルが繰り返されます:)

PS。有効な答えは、そのような状況でのワークフローがいかに適切であるかについてのヒントにもなります。私はすでにpost-*gitハンドルを試してみましたが、それもあまりうまく機能しませんでした...

4

1 に答える 1

1

まず、開発マシンの問題を解決することを強くお勧めします。シェフやパペット(または専用の仮想ベースマシン)と一緒に使用して、開発環境を開発者のPCで実行される仮想マシンに移動できるvagrantがあります。これにより、リモートサーバーに関する多くの問題も解決されます。

これができない場合は、次のように考えてください。

Netbeansコマンドはリモートで機能しません。開発者にマシンにSSHで接続してもらい、コマンドを実行してもらいます。

開発/本番環境の問題は発生しません。構成を正しく設定できるように、少なくとも開発者ごとに異なる構成/キャッシュ/ログを持つ仮想ホスト上にある必要があります。parameters.iniをgitリポジトリに配置しないでください(parameters.ini.distを作成し、parameters.iniファイルを無視することでこれを処理できます)。これにより、さまざまなパラメーターを使用できます。もう1つの興味深い点(symfony live 2012 Parisで紹介)は、Apache仮想ホスト内でSET_ENV SMFONY_ PARAMETER _NAMEを実行してから、構成ファイル内で%parameter.name%を使用できることです(2つの下線に注意してください)。これはあなたの場合に役立つかもしれません。

異なる構成などを使用して、1台のマシンで複数の開発者を処理できるワークフローは実際にはありません。それはただの混乱であり、何かが起こるたびに実行される複雑なスクリプトで問題を解決するか、仮想マシンやサーバー上の異なるディレクトリを持つ異なるvhostのようなより良い解決策を見つけることによって問題を解決します。

于 2012-06-13T10:33:38.257 に答える