鍍金池/ 教程/ Java/ 發(fā)布途徑
哲學家就餐問題
鏈接進階
名詞中英文對照
測試
引用和借用
泛型
方法語法
函數(shù)
不安全代碼
并發(fā)
裝箱語法和模式
注釋
棧和堆
運算符與重載
語法索引
文檔
固有功能
所有權(quán)
循環(huán)
通用函數(shù)調(diào)用語法
不定長類型
<code>const</code> 和 <code>static</code>
迭代器
其他語言中的 Rust
枚舉
詞匯表
If語句
猜猜看
錯誤處理
生命周期
編譯器插件
發(fā)布途徑
閉包
trait 對象
不使用標準庫
關(guān)聯(lián)常量
外部函數(shù)接口(FFI)
類型轉(zhuǎn)換
原生類型
匹配
參考文獻
Rust 編程語言
內(nèi)聯(lián)匯編
條件編譯
選擇你的保證
學習 Rust
`type`別名
自定義內(nèi)存分配器
屬性
if let
高效 Rust
可變性
語法和語義
模式
基準測試
結(jié)構(gòu)體
變量綁定
語言項
切片模式
<code>Deref</code> 強制多態(tài)
關(guān)聯(lián)類型
裸指針
<code>Borrow</code> 和 <code>AsRef</code>
準備
Rust 開發(fā)版
字符串

發(fā)布途徑

release-channels.md
commit 024aa9a345e92aa1926517c4d9b16bd83e74c10d

Rust 項目使用一個叫做“發(fā)布途徑”的概念來管理發(fā)布。理解這個選擇你的項目應該使用哪個版本的Rust的過程是很重要的。

概覽

Rust 發(fā)布有3種途徑:

  • 開發(fā)版(Nightly)
  • 測試版(Beta)
  • 穩(wěn)定版(Stable)

新的開發(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)性改變造成顯著的問題。

通過持續(xù)集成(CI)改善生態(tài)系統(tǒng)

那么測試版怎么樣呢?我們鼓勵所有使用穩(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é)。

上一篇:函數(shù)下一篇:`type`別名