release-channels.md
commit 024aa9a345e92aa1926517c4d9b16bd83e74c10d
Rust 項目使用一個叫做“發(fā)布途徑”的概念來管理發(fā)布。理解這個選擇你的項目應該使用哪個版本的Rust的過程是很重要的。
Rust 發(fā)布有3種途徑:
新的開發(fā)發(fā)布每天創(chuàng)建一次。每6個星期,最后的開發(fā)版被提升為“測試版”。在這時,它將只會收到修改重大錯誤的補丁。6個星期之后,測試版被提升為“穩(wěn)定版”,而成為下一個版本的1.x
發(fā)布。
這個過程并行發(fā)生。所以每6個星期,在同一天,開發(fā)變測試,測試變穩(wěn)定。當1.x
發(fā)布時的同時,1.(x + 1)-beta
被發(fā)布,而開發(fā)版變?yōu)榈谝话娴?code>1.(x + 2)-nightly。
通常來說,除非你有一個特定的原因,你應該使用穩(wěn)定發(fā)布途徑。這個發(fā)布意為用于普通用戶。
然而,根據(jù)你對Rust的興趣,你可能會選擇使用開發(fā)構(gòu)建?;镜臋?quán)衡是:在開發(fā)途徑,你可以使用不穩(wěn)定的,新的Rust功能。然而,不穩(wěn)定功能傾向于改變,所以任何新的開發(fā)版發(fā)布可能會破壞你的代碼。如果你使用穩(wěn)定發(fā)布,你不能使用實驗功能,不過下一個Rust發(fā)布將不會因為破環(huán)性改變造成顯著的問題。
那么測試版怎么樣呢?我們鼓勵所有使用穩(wěn)定發(fā)布途徑的Rust用戶在他們的持續(xù)集成系統(tǒng)中也針對測試途徑進行測試。這會幫助警告團隊以防出現(xiàn)一個意外的退步(regression)。
另外,針對開發(fā)版測試能夠更快的捕獲退步,因此如果你不介意一個第三種構(gòu)建(環(huán)境),我們也會感激你針對開發(fā)版進行測試。
作為一個例子,很多Rust程序猿使用Travis來測試他們的crate,這是一個開源的免費項目。Travis直接支持Rust,并且你可以用類似這樣的一個.travis.yml
文件來測試所有的版本:
language: rust
rust:
- nightly
- beta
- stable
matrix:
allow_failures:
- rust: nightly
通過這個配置,Travis將會測試所有三個版本,不過如果有什么東西在開發(fā)版中失敗了,你的構(gòu)建將不會失敗。建議你在任何 CI 系統(tǒng)中使用類似的配置,查看你正在使用的CI系統(tǒng)的文檔來獲取更多細節(jié)。