2010-12-01 39 views
3

我們想要將登臺服務器和版本控制添加到我們的開發管道。我們的網站是一個複雜的Web應用程序,運行在使用PHP,MySQL和Apache的遠程Linux服務器上。我們只是在辦公室局域網上設置Subversion,並在Dreamweaver CS5中使用它。我們的開發機器運行Windows。使用Subversion並推送到舞臺然後活動服務器

問題是如何最好地將臨時服務器添加到此設置。我們是一個小團隊,3名開發人員,所以我們不需要過於強大/複雜的解決方案。我不明白的是如何將Subversion repo(位於開發人員的一臺機器上)的更改推送到臨時服務器或實時服務器。

  1. 我讀了很多關於人寫這個鉤子,但這是否意味着我們需要臨時服務器和直播服務器上安裝Subversion?我寧願不這樣做。

  2. 我想在開發人員將它們提交到Subversion時自動將文件上載到暫存服務器。如何才能做到這一點?

  3. 然後我需要一個自動化的過程來將文件從Staging服務器上傳到Live服務器。這是我真的不明白的部分。特別是因爲我不想在Live上安裝Subversion。這通常如何完成?

  4. 是否將來自暫存服務器的所有文件推送到Live?或者有沒有辦法只推出自上次推動以來發生變化的方法?

  5. 我一直希望使用Windows XAMPP來設置登臺服務器,但是我們的Live服務器是Linux,我們的一些站點代碼具有特定於Linux的文件路徑,看起來他們在Windows中無法工作。這個問題通常如何解決?是創建新的Linux Staging服務器的唯一解決方案嗎?如果可能的話,我寧願避免。

  6. 在我們的網站上,用戶可以上傳圖片,這些圖片存儲在網站根目錄以外的單獨文件夾中。 Windows XAMPP可以像設置一樣工作嗎?我們現在最大的挑戰是確保相同的代碼在Linux/Windows上運行。有什麼需要注意的?理論上這甚至是可能的嗎?

謝謝!

+0

其中一個問題太多。你能縮小範圍嗎? – RedFilter 2010-12-01 18:56:22

回答

0
  1. 不需要。鉤子可以在您的版本控制服務器上運行。鉤子應該能夠將構建推送到登臺服務器。

  2. 掛鉤可以提供這些功能,但爲什麼不將它從版本控制中分離出來。

  3. 自動上傳意味着無法控制何時推送構建。大部分時間在開發中,中間構建被打破。我建議你在工作流程中包含一個像BuildBot這樣的「連續集成工具」。這將完成報告構建健康狀況損壞的構建和當前狀態的工作。如果你願意,你總是可以使用這種機制將良好的構建自動上傳到登臺服務器。

  4. 分段用於測試在QA環境中難以複製的完整實時環境中的構建。因此,如果發現它是一輛越野車,那麼搭建階段可能不會推到生活環境中。

  5. XAMPP在Windows上工作。在谷歌上檢查它。儘管您的登臺和現場環境應該完全相同,因爲這是登臺環境的意義所在。

  6. 從理論上講,它應該起作用。你將不得不測試你的特定功能。

0

對於問題1和問題2,您在Subversion存儲庫(不需要在Web服務器上)上使用post-commit掛鉤,它會將最新版本複製到臨時服務器。

Re 3),這是一個壞主意,你不應該自動部署到生產。如果你這樣做,一個不好的提交可能會導致你的網站失效。

4,5和6是真正不同的問題,應單獨詢問。

相關問題