0

Web アプリケーションのソース コードを制御するために github を使用していますが、ライブ サーバーにデプロイするのに問題があります。サーバーに ssh したいのgit pull origin masterですが、レポに安定したコードがある場合。問題は、サーバー上の異なる場所に存在する 2 つのフォルダーがあることです。

# Bolded to be version controlled
/var
**/var/ci** <- php framework
/var/www/
**/var/www/webapp1**
/var/www/webapp2

私の質問:これをセットアップして、後でgit hub pull origin master最新のコードを両方のディレクトリに取得できるようにする方法はありますか?

解決策は、使いやすさと安心感を犠牲にすることですが、サーバー上の別の場所にレポを設定し、Web アプリの置き換えを行うための bash スクリプトを用意することです。このことから何か問題が生じるでしょうか?

#/bin/bash
#Disclaimer: pseudo code
`git pull origin master`
`rm -rf * /my/live/frameworks`
`cp -f /my/git/repo/frameworks /my/live/frameworks
`rm -rf * /my/live/web_root`
`cp -f /my/git/repo/web_root /my/live/web_root

上記の方法にはいくつかの問題があります。

  1. スムーズでないアプリケーションのアップグレード
  2. キャッシュされたテンプレートやその他の一時ファイルが失われます。にフィルターを追加することもできますが、rm -rfこのアプローチはハッキリしすぎて快適ではありません

あなたが Web サーバーを所有していて、私のようにレポのセットアップから最新のコードを引き出すことによってそれを管理している場合、これをどのように行うべきかについてのヒントを教えてください。とても有難い。

4

1 に答える 1

0

この方法で管理する場合は、シンボリック リンクを使用して、実際の Web 公開ディレクトリから git プロジェクトにリンクできます。

これは、そのテクニックを説明する完全な回答です。

于 2013-08-19T22:27:13.750 に答える