回答
用途是區分不同的版本。
如果某些版本與某些版本號相同,您希望如何引用該版本?
你正在做的建立有兩個原因:
代碼- 已經有變化(我假設,測試所做的更改)
所以你需要記錄變化和結果,如果有問題,你需要參考正確的版本。如果你想知道發生了什麼變化,那麼你就更容易追蹤問題。
爲什麼我們需要區分每一天和每一天的構建。增量的數量會更多。不是嗎?如果有許多版本號,如何使用版本號跟蹤特定的日期版本? – SamJ 2012-01-10 09:59:45
由於兩個原因,代碼中發生了變化,並且您希望對構建做些什麼(我假設,測試這些變化),所以您正在進行構建。所以你需要記錄變化和結果,如果有問題,你需要參考正確的版本。如果你想知道發生了什麼變化,那麼你就更容易追蹤問題。 – stema 2012-01-10 10:10:24
@stema我發現你最近的評論比你原來的回答更徹底的答案;-)你應該考慮把它加到它更顯眼的地方。 – 2012-01-10 12:04:11
我更喜歡使用與更改和日期無關的編號方案。 我通常使用具有編號變更集(Subversion-tfs)概念的SCM。
因此,構建和scm之間的鏈接得以維護,您不必記錄正在運行的構建編號,並且標籤已經爲您完成。 如果我在變更集45678中檢查,版本是1.2.45678(其中主要次要版本是1.2)。
我不會打擾到將內部版本號與當天相關聯。它不是最好的方法。
「如果我在變更集45678中檢入版本是1.2.45678(其中您的主要次要版本是1.2)」。 - 這是錯誤的設計。我們使用相同的內部編號,但是我們更改了它,因爲內部編號是16位編號。如果您達到超過65535個變更集,您的構建將失敗。如果你正在從事這個龐大的項目,或者你的TFS包含很多項目,你很快就會達到這個數字。 – Ludwo 2012-01-10 11:03:17
請參閱此問題的答案:http://stackoverflow.com/questions/6121071/versioning-an-assembly-info-past-the-uint16-barrier – 2012-01-10 14:51:59
是的,它可以通過使用修訂版來解決,但我們正在使用修改日期戳(mmdd格式) – Ludwo 2012-01-10 15:08:47
我們使用的是major.minor.xyyyy.mmdd構建版本格式,其中x是保留的,yyyy是計數器每小時遞增一次。此格式僅用於部署構建,並且每天執行2次。應該設置計數器增量值,以確保獨特的版本和主版本的生命週期(對於yyyy = 9999 = 9999hours)。例如,ClickOnce需要唯一的構建版本。當主/次版本更改(或新版本分支)時,計數器設置爲零。
對於正常的構建(不用於部署腳本),我們使用的是major.minor.0.0構建版本。這對於增量構建是必需的,因爲如果您更改構建版本,您的項目將被重建。對於大型項目來說這不是個好主意(我的情況是500+),因爲重建可能需要很長時間。
我會推薦版本格式爲major.minor.hotfix.build,這爲我們希望支持修補程序版本時在未來的主版本上提供各種子構建提供了靈活性。
「構建」可以是遞增的每一個增量構建鑑定的被測試團隊建立,如果他們在全球範圍內爲每一個測試團隊希望最新版本,以驗證新的修補程序展開。否則,我們可以擁有活動的分支變更列表,以便我們仍然可以輕鬆識別構建代碼的哪部分。
- 1. Lucene每晚構建javadoc?
- 2. Internet Explorer每晚構建
- 3. 每晚爲SubVersion構建腳本
- 4. SchemaSpy for SQL Server使用每晚構建
- 5. 每晚使用gradle構建android項目
- 6. 每晚「發佈構建」在CruiseControl.NET
- 7. 安裝Scala 2.9每晚構建
- 8. 安裝asp.net每晚與nuget構建
- 9. 每晚構建VB.NET程序,版本
- 10. 每晚構建和虛擬機
- 11. TFS 2010 - 構建和測試每晚
- 12. CruiseControl.NET每晚構建If修改後自上次構建標籤以來存在
- 13. 爲什麼這行代碼迫使我每次構建時都要清理它?
- 14. 爲什麼我們每一次
- 15. 我應該將集成測試配置爲連續構建還是每晚構建?
- 16. 運行每晚構建爲XP計劃任務 - Classpath的問題
- 17. 如何告訴sbt使用Scala 2.11,2.12或2.13的每晚構建?
- 18. 構建Android總是爲每個構建下載依賴關係
- 19. 自動提前次版本號,每次構建(VS 2008)
- 20. 每次構建後自動遞增appx包版本
- 21. Gradle構建每次都失敗
- 22. PHP增量編號,每次創建一個新的div
- 23. 使用ECMAScript 6和Firefox附加組件SDK不需要每晚構建
- 24. 在Solr中,爲什麼「構建」不是被阻止「構建」,而是「構建」?
- 25. CTEST/CDASH工作流程:部署每晚構建
- 26. 如何在Jenkins聲明式管道中處理每晚構建
- 27. 安排在詹金斯每晚構建與多個條件
- 28. 如果存在分支,則每晚構建發佈分支
- 29. ASP.NET網頁API每晚構建不上服務器
- 30. 在遞增結構值每次循環
該編號創建構建的標識。 – wilx 2012-01-10 09:22:55