1

私はGitの専門家ではありませんが、これが以前に行われたのを見たことがあります(その背後にある実際の実装を知りませんでした)。

メインのWebサイトはwww.foobar.comですが、テストサブドメインをbeta.foobar.comに置きたいです(または、複雑すぎる場合は、テストディレクトリをfoobar.com/betaに置きます)。

メインのウェブサイトとサブドメインを管理する2つのブランチをGitリポジトリに配置して、すべてのテストをベータ版で実行できるようにする方法はありますか?コードに問題がなければ、マスターブランチでベータ版をマージするだけです。

この問題について間違った考えをしている場合は、遠慮なく別の方法を提案してください。ありがとう!

4

1 に答える 1

2

これは非常に簡単に実現でき、GIT に固有のものではありませんが、Web サーバーの設定とアプリのデプロイ プロセスによって異なります。2 つの簡単な手順:

  1. www.foobar.com と beta.foobar.com の両方にサービスを提供するように Web サーバーを構成します。さまざまな Web ルートからさまざまなドメインを提供します。たとえば、メイン アプリから/var/www/foobar.com/app/public、サブドメインからなどです。/var/www/foobar.com/subdomains/beta/public
  2. .../app/public展開するには、マスター ブランチをディレクトリに、ベータ ブランチをディレクトリに複製するだけです。.../subdomains/beta/public

このプロセスは、Capistranomultistage extensionなどのツールを使用して自動化することもできます。

あなたのコメントに応じて編集:

自分のためだけではない重大なプロジェクトでは、現在デプロイされているファイルを決して更新しないでください。提案されたセットアップは次のとおりです。

  1. サーバーまたは github.com (またはその他のプロバイダー) でアクセス可能な裸の git リポジトリを用意します。
  2. 開発マシンでリポジトリのクローンを作成します - これが作業するコードです
  3. ベータ ブランチに変更があるとします: その変更をプッシュします。
  4. これで、ベア リポジトリのベータ ブランチをベータのデプロイ パスに複製できるようになりました。
  5. 準備ができたらいつでも: ベータ版をマスターにプルします (開発マシン上)。
  6. プッシュマスター
  7. ベア リポジトリのマスター ブランチをマスターのデプロイ パスに複製して、マスターをデプロイする

上記のように、capistrano のようなツールを使用するとデプロイが非常に簡単になり、さまざまなデプロイの履歴を保持することさえできます。たとえば、この投稿を見て、PHP の展開にどのように使用されているかを確認してください。

于 2012-06-22T14:02:34.480 に答える