Keycloak 發布與版本控制

2019年4月24日 作者:Stian Thorgersen

我們的目標是使用 Keycloak 實現持續交付模型。這表示在 Keycloak 版本之間升級,以及保持最新版本應該是無縫的。

這需要沒有重大變更,而是棄用舊的 API,並給予時間遷移到新的 API。

傳統的語意版本控制不太適合這個模型。如果遵循持續交付的原則,我們將永遠停留在一個主要版本上,只更新次要版本。當一個已被棄用很長一段時間的 API 被移除時,是否更新主要版本也是一個值得商榷的問題。

考慮到這一點,我們對發布頻率和版本控制方案做了一些輕微的變更。

目前,我們每年大約會發布 4 次新的功能版本。每次發布都會提升主要版本號。這並不表示有重大變更,但在我們完善持續交付模型之前,可能還是會有部分變更,所以升級前請務必參考遷移指南!

我們也決定從發布版本中移除 Final 後綴。這很單純是因為不需要,因為我們已經很久沒有發布任何 Beta 或候選版本了。本著持續交付的精神,我們將會把單獨的功能標記為預覽版,而不是整個發布版本。

最後一點,隨著發布頻率的降低,我們計劃進行更多微型發布。這將著重於關鍵錯誤和安全漏洞。然而,如果修復程式經過良好測試且回歸風險較低,我們可能會接受對不太嚴重的錯誤的貢獻。