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
上記の方法にはいくつかの問題があります。
- スムーズでないアプリケーションのアップグレード
- キャッシュされたテンプレートやその他の一時ファイルが失われます。にフィルターを追加することもできますが、
rm -rf
このアプローチはハッキリしすぎて快適ではありません
あなたが Web サーバーを所有していて、私のようにレポのセットアップから最新のコードを引き出すことによってそれを管理している場合、これをどのように行うべきかについてのヒントを教えてください。とても有難い。