2011-03-22 19 views
2

持續集成情景以下工作流程中的主要存儲庫是所有開發者入住,讓說,它位於 http://hg.main.com:8000/project我想要實現使用水銀/詹金斯

現在,我們也有http://hg.qa.com:8000/project,所有的最新的代碼需要在Sync中,PLUS的測試和其他工件都在這個倉庫中。如果85%的測試通過,將只被「推」到中央儲存庫。

  1. 有沒有更好的實現方法?
  2. 什麼汞柱命令我需要,以確保我不重寫最新提交

回答

0

開始的東西ILKE: 審批管理:審計和QA

爲了誰?

如果您需要使用開發人員團隊和獨立的QA團隊明確批准的具有完整跟蹤記錄的代碼歷史記錄,則此工作流程可能適合您。

要求

你只需要水銀(命令行),用於交換數據的共享存儲庫(一個簡單的SSH服務器就足夠了,如同一個私人到位桶庫)和GpgExtension。

流量

此工作流用來發展默認分支,以及一個名爲分支QA和發佈分支。

優點是,將默認合併到QA中需要明確的合併,然後由負責該合併的開發人員簽署GPG。

當QA完成應用更改後,首先將它們合併回默認值(以便開發人員處理QA版本),然後合併到版本中,GPG對合並提交進行簽名。

開發

 
hg pull # get the latest changes 
hg update 
hg commit -m "" 
hg update -C QA 
hg merge default 
hg commit -m "merged default branch for QA" 
hg sign 
hg push 

QA

 
hg pull 
hg update QA 
hg commit -m "QA fixes" 
hg update -C default 
hg merge QA 
hg ci -m "merged QA fixes back into the development branch" 
hg update -C release 
hg merge QA 
hg commit -m "merged finished QA into release" 
hg sign 

修改

如果您需要更多層而不僅僅是開發人員和QA,那麼只需添加其他命名分支,例如發佈前的分段發佈。

爲確保所有代碼都得到真正的檢查,您可以要求所有主管必須進行GnuPG簽名才能進入更高級的存儲庫。