我正在PHP網站上工作,我剛剛在其中運行的環境中添加了一個交換機 - development
,它在本地站點上運行時爲production
,當它運行時爲production
在虛擬主機上:Mercurial - 部署和開發存儲庫
<?php
define('ENV','development');
//or
define('ENV','production');
我有VC下的網站有水銀,通常只需用hg push
部署我的網站(服務器運行HG過),但是,在加入這個開關,「生產」網站將始終與「開發」網站不同,因爲現場部署的版本始終設置爲production
而不是development
。
這意味着我的部署過程從
- 去開發
- 測試
hg commit -m "Made changes"
hg push
ssh host hg update
- 轉到1
到
- 開發
- 測試
hg commit -m "Made changes"
- 變化
development
到production
- `汞提交-m 「開發 - >督促」
hg push
ssh host hg update
- (後:)更改
production
- >development
hg commit -m "prod -> dev"
- 轉到1
這顯然不是很大。
是否有某種方法可以保持一個與另一個絕緣,以便活動站點將始終設置爲production
,並將本地副本設置爲development
?
所以在我的生產分支中,我將特定於它的代碼(如數據庫配置)存放在活動分支中,並且在我的開發分支上,我保留特定於其本地的代碼?並且跨分支合併是如何工作的?如果我更改影響兩個分支的代碼,合併是否會捕獲這個問題? – 2010-07-19 22:07:08
是的,它也會帶來合併錯誤的高風險。您應該有更好的策略來保持您的生產/開發設置獨立於濫用SCM。 – 2010-07-19 22:12:00
@奧斯汀:嗯,我會保持代碼回購之外的配置。我有1個配置生產回購,以及100%不同的配置epo開發。 – 2010-07-19 22:39:45