簡體   English   中英

開發環境 - 從開發到登台服務器到生產的VCS

[英]Development environment - VCS from development to staging server to production

我已經閱讀了與此類相同類型的球場中的一些主題,但是說實話,我仍然不能確定最佳方法(作為起點)。 我是一個小型辦公室的獨立開發人員,我有大約30個網站,這些網站都是在Linux VPS上托管的。 我想開始使用版本控制(可能是SVN)並設置登台服務器。 目前,我在使用FTP上傳到實時服務器之前在我的機器上本地進行開發,或者偶爾進行小的更改我直接編輯遠程文件,這不是一種理想的方法。

我正在尋找有關如何改善我的開發環境的一些指導。 我想我應該在Web服務器上安裝SVN,這樣我就可以查看本地機器的版本(我認為這也需要SVN)。 另外,如果我想設置一個臨時服務器,我應該只為每個實時網站設置子域名,然后使用這些子域名來顯示客戶端對網站的更改,然后再將它們生效嗎?

希望這是有道理的!

這就是我們在工作中所做的事情:

我們有一個運行Apache的登台服務器和一個Subversion服務器。 我們有一個post commit鈎子來更新htdocs目錄中的工作副本,這樣,當開發人員提交一些它會在登台服務器上自動更新時,所以每個人都可以看到最新的代碼。

在客戶端的生產服務器(我們可以控制的服務器)上,我們安裝了Subversion客戶端,並且網站是一個工作副本。 當我們需要更新實時站點時,我們登錄到shell並運行svn up 如果您執行此類操作,請確保使用.htaccess文件或主Apache配置限制對.svn目錄的訪問。

我們有一個管理項目的自定義應用程序,但這只是因為我們懶惰而且不想手動設置每個項目,應用程序創建必要的目錄和工作副本。 您可以編寫一個快速腳本來執行此操作。

我們永遠, 永遠 ,通過FTP直播網站上編輯文件。 總而言之,我們已經使用這個設置將近2年,除了臨時服務器上偶爾的沖突,我們從來沒有遇到任何問題。

您實際上可以在本地計算機上安裝SVN服務器,我建議將其安裝在Web服務器上(假設您進行備份)。 最容易做的事情,因為只有你使用它,才會使用file://協議,但是使用svnserve會更加健壯,如果你想花時間去做,那就是首選的方法。

@Michael,我不同意 - 我會說最好安裝在linux vps上,特別是如果你已經為托管服務付費了。 無論我在哪里,無論我在哪台計算機上,我都能從我的svn repo中瀏覽和下載內容。

@nicky,幾年前我開始使用svn(和版本控制),我采取了嬰兒步驟,這使得它更容易解決。

如果我不得不再做一次,我會先閱讀svn書 這本書布置得非常好,並且通過犁過的時間不超過1-2天。

在您閱讀時,請使用apache前端在Linux vps上安裝svn。

完成后,選擇一個網站並將其導入svn。 這就是我構建svn repo的方式。 例如,假設我的倉庫托管在http://mysvn.mydomain.com/svn/

  mywebsite1
     - trunk
     - tags
     - branches 
  mywebsite2
     - trunk
     - tags
     - branches 

不要擔心創造完美的結構。 重新組織起來很容易,特別是在你剛開始的時候。 在將幾個項目導入svn之后,您將開始了解哪些項目應具有自己的“主干/標記/分支”目錄結構,哪些項目可以組合。

為了創建測試環境,我完全按照您的描述進行操作。 我使用構建腳本從svn簽出並將文件下載到映射到子域的dirs,如“test.clientsite.com”(我主要在java中工作並使用ant和maven,但我認為你可以使用任何腳本語言你是熟悉)。

一旦你習慣了版本控制,你永遠不會回去,祝你好運!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM