回答
用途是區分不同的版本。
如果某些版本與某些版本號相同,您希望如何引用該版本?
你正在做的建立有兩個原因:
代碼- 已經有變化(我假設,測試所做的更改)
所以你需要記錄變化和結果,如果有問題,你需要參考正確的版本。如果你想知道發生了什麼變化,那麼你就更容易追蹤問題。
爲什麼我們需要區分每一天和每一天的構建。增量的數量會更多。不是嗎?如果有許多版本號,如何使用版本號跟蹤特定的日期版本? – 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. WSO2 Governance Registry每晚構建?
- 2. Internet Explorer每晚構建
- 3. Lucene每晚構建javadoc?
- 4. 每晚爲SubVersion構建腳本
- 5. 每晚爲Linux上的Windows構建
- 6. 每晚使用gradle構建android項目
- 7. SchemaSpy for SQL Server使用每晚構建
- 8. 每晚構建和虛擬機
- 9. 安裝Scala 2.9每晚構建
- 10. 每晚構建VB.NET程序,版本
- 11. 每晚「發佈構建」在CruiseControl.NET
- 12. Jenkins持續集成和每晚構建
- 13. 安裝asp.net每晚與nuget構建
- 14. 每晚構建 - 需要新的設置?
- 15. TFS 2010 - 構建和測試每晚
- 16. 每晚構建和持續集成有什麼區別?
- 17. CruiseControl.NET每晚構建If修改後自上次構建標籤以來存在
- 18. 每晚構建 - 我們是否首先刪除「目標」中的文件?
- 19. Visual Studio每次構建
- 20. 爲什麼我的TTL值每次增加2? (C Socket編程)
- 21. QMake - 如何在每次構建後添加後構建步驟
- 22. 構建構建是什麼?
- 23. 爲什麼Resources.resx在每次構建之後清空?
- 24. 爲什麼這行代碼迫使我每次構建時都要清理它?
- 25. 爲什麼我們每一次
- 26. 我應該將集成測試配置爲連續構建還是每晚構建?
- 27. 爲什麼我們構建opencl程序兩次?
- 28. 運行每晚構建爲XP計劃任務 - Classpath的問題
- 29. 如何告訴sbt使用Scala 2.11,2.12或2.13的每晚構建?
- 30. 如何告訴sbt使用Scala 2.10的每晚構建?
該編號創建構建的標識。 – wilx 2012-01-10 09:22:55