6

我經常看到自動構建過程(包括持續集成構建),在構建源代碼爲*的版本控制庫中提交對源文件所做的更改。自動遞增版本號是這種情況的常見情況,但也有其他情況。自動構建過程是否應該更改爲版本控制?

我的直覺是,這是一個壞主意,因爲它可以通過與構建相關的提交廢棄存儲庫歷史記錄,並且構建過程需要防止意外重新觸發自身。但是我沒有任何具體的證據表明在構建過程中提交更改是最好的避免。

任何人都可以引用討論在自動構建期間提交更改版本控制的優缺點嗎?

*對單獨的工件存儲庫提交更改是完全可以接受的。

回答

1

自動遞增的版本號

這是一個,並把元數據(版本)的數據是「惡」:對於利弊,看this answer

Continuous Integration包括構建自動化,這大約是能夠再現構建從固定集版本的數據。
如果你改變任何東西回到同一個集合中,你就會失去它的目的。

+0

我認爲能夠重現構建的問題,但是如果針對版本N運行的構建將更改回源代碼管理並創建版本N + 1,則再次針對版本N重複構建將不知道N + 1並且不應該改變輸出。 –

+0

@JasonStangroome:但它會一遍又一遍地創建無用版本N + 1。只是不要這樣做。它沒有用處。 CI是關於*閱讀和建設,不寫任何東西。 – VonC

相關問題