2010-06-01 55 views
6

我正在創建一個使用版本控制和我的基於Web的應用程序的過程。這是我到目前爲止:SVN開發和發佈過程 - 完整性檢查

  1. 我正在做branches/development下的主要開發,並保持與我的開發服務器同步進行測試。
  2. 我使用svn:externals將Zend Framework引入到我的項目中。我使用的版本號從發佈我感興趣的標籤例如,1.10.5 Release在修訂22306,所以我svn:externals看起來是這樣的:
    • -r 22306 http://framework.zend.com/svn/framework/standard/trunk/library/Zend/ Zend
    • -r 22306 http://framework.zend.com/svn/framework/extras/trunk/library/ZendX/ ZendX
  3. 我將branches/development的測試穩定代碼合併到trunk,並從中創建版本標記。然後,我將該標籤所做的修訂發佈到我的生產服務器上。

我真的沒有修補程序的計劃,但我想我可以處理這樣的情況的生產標籤。

我是使用Subversion的全新軟件,所以請讓我知道我是否忽略了某些東西,或者做了些什麼來咬我。

謝謝!

+2

so _that's_什麼是外部的! :) – zvolkov 2010-06-01 14:22:13

回答

1

你有比大多數人更好的過程。我現在工作的公司除了創建新的生產分支(版本1.01.1,1.01.2等),而不是像您使用的版本標籤(由於我們使用的腳本)之外,完全一樣。

您需要確保的唯一一件事情是,如果您可以在出現故障時輕鬆回滾。我喜歡使用的是SIM卡鏈接。因此,當我部署到生產環境時,我會全新檢查我正在部署的版本,並將simlink apache點更新爲指向新版本並對其進行測試。如果我遇到問題,我會將鏈接更新回最後一個仍在服務器上檢出的工作副本。即時回滾。如果你有這個問題解決你很好去恕我直言。

+0

不幸的是,我沒有命令行訪問我的Web服務器,所以我不能做符號鏈接。我爲我的Subversion託管使用Beanstalk - http://beanstalkapp.com/,他們有一個將發佈版推送到Web服務器的好工具。它使我很快恢復到以前的版本。 – Sonny 2010-06-01 14:11:12

+1

那聽起來不錯。你的流程相當糟糕。作爲對上述某些評論的迴應,我更願意爲他們承諾的團隊/項目分支,然後在完成QA測試後(根據已關閉任務/錯誤的修訂版本號)將其合併到主幹中。 IMO主幹應始終代表穩定的產品發佈。我認爲你在這條道路上是正確的。 – 2010-06-01 14:22:25

2

你的方法聽起來不錯,但你也可以在幹線上做你的發展,並在測試和穩定時標記它。我不確定你通過使用一個單獨的分支來獲得主要的發展。

+1

我看到它由幾個人推薦。保持穩定的行李箱應該可以在較大的團隊中更好地擴展。我按照你的建議開始,但是在這個過程中看到了智慧,所以我改變了。 – Sonny 2010-06-01 14:19:13

+2

@Sonny如果團隊規模很大,可以在分支機構中開發某些功能並在中繼線或其他分支中修復bug修復等。這給出了製作包含修復但不包含仍在開發中的功能的版本的選項。 但是,如果團隊很小,並且您認爲您不想忽略正在進行的任何代碼以發佈版本,則只需在trunk中進行開發即可。 隨着情況發生變化,您可以從一種方法更改爲另一種方法。 – Alb 2010-06-01 14:26:08

+0

改變方法的好處。 Subversion使它變得非常簡單! – Sonny 2010-06-01 14:40:33