發佈新版本
此指南適用於維護人員。這些特別的人員擁有對一個或多個 Jekyll 儲存庫的寫入權限,並協助合併他人的貢獻。您可能會發現這裡寫的內容很有趣,但它絕對不適合所有人。
在發佈版本之前最重要的注意事項是,沒有必要感到緊張。大多數事情都是可還原的,即使您確實發佈了不完整的寶石版本,我們也可以隨時跳過該版本。如果您感到不確定或不知道下一步該怎麼做,請隨時聯絡其他維護人員。
升級版本
您需要手動升級版本的唯一重要位置是 lib/jekyll/version.rb
。調整它,其他所有內容都應該正常運作。
版本大多數會採用 "major.minor.patch"
格式。有時,我們可能會決定發佈預先發佈版本,其格式為 "major.minor.patch.suffix"
。 suffix
沒有標準化,可以是 pre.alpha1
、pre.rc2
或僅是 beta3
等任何內容。
要確定正確的版本,請先查閱我們的歷史文件 ## HEAD
部分,History.markdown
。
- 如果有一個標題為
Major Enhancements
的小節- 增加版本字串的
major
組成部分,並將minor
和patch
組成部分都重設為0
。 - 如果適用,加上
suffix
。 - 例如,
"3.9.1" => "4.0.0"
或"3.9.1 => "4.0.0.alpha1"
。 - 跳到發布程序的下一步。
- 增加版本字串的
- 如果有一個標題為
Minor Enhancements
的小節- 只增加
minor
組成部分,並將 patch 組成部分重設為0
。 - 如果適用,加上
suffix
。 - 例如,
"4.0.2" => "4.1.0"
或"4.1.0" => "4.2.0.pre"
。 - 跳到發布程序的下一步。
- 只增加
- 對於其他任何情況,只增加
patch
組成部分或suffix
組成部分(如果適用)。例如,"4.0.2" => "4.0.3"
或"4.1.0.beta3" => "4.1.0.rc"
。
撰寫發布文章
如果尚未執行此操作,您可以使用附帶的 rake
指令產生新的發布文章架構
bundle exec rake site:releases:new[3.8.0]
其中 3.8.0
應替換為新版本。
接著撰寫文章。務必感謝自上次發布以來做出貢獻的所有合作者和維護人員。您可以使用下列指令產生他們名稱的記錄
git shortlog -sn master...v3.7.2
其中 v3.7.2
是前次發布的 git 標籤。如果您的儲存庫中不存在該標籤,請執行
git pull
完成發布文章後,務必開啟一個拉取請求。
更新歷史文件
將 History.markdown
的第一個標題替換為版本里程碑。如下所示
- ## HEAD
+ ## 3.7.1 / 2018-01-25
調整版本號碼和日期。下次合併拉取請求時,## HEAD
標題將會重新產生。
根據優先順序遞減,重新排列小節(整體),如下所示
## 4.2.0 / 2020-12-14
### Major Enhancements
...
### Minor Enhancements
...
### Bug Fixes
...
### Security Fixes
...
### Optimization Fixes
...
### Development Fixes
...
### Site Enhancements
...
完成後,執行下列指令更新網站
bundle exec rake site:generate
這會更新網站的變更日誌,並在其他各種位置推送版本。
建議您手動再次檢閱 History.markdown
檔案,以防有任何拼寫錯誤或類似問題。您可以手動修正這些問題,並在產生網站變更日誌後提交您的變更。
推送版本
在執行此步驟之前,請確認已完成下列事項
- 已準備好發布文章,並理想上已透過先前的拉取請求上線。
- 已完成所有先前的步驟,特別是
lib/jekyll/version.rb
的變更已分段提交。 - 優先使用提交訊息
"Release :gem: v[CURRENT_VERSION]"
將已分段變更提交至本機master
分支。
現在唯一要做的事就是執行這個指令
git push upstream master
其中 upstream
參照 git@github.com:jekyll/jekyll.git
。
這將觸發 GitHub Actions 工作流程,它會自動建置新的 Gem,標記發行提交,將標籤推送到 GitHub,然後最後將新的 Gem 推送到 RubyGems。不用擔心建立 GitHub 發行,@jekyllbot 會在發行工作流程發布新標籤時處理這件事。
然後,如果工作流程已成功完成,你就完成了! 盡情慶祝吧!
如果你有權存取 @jekyllrb Twitter 帳戶,你應該從那裡發布發行文章。如果沒有,請其他維護人員這樣做或給你權限。
建置文件
我們將文件打包為 Gem 以供離線使用。
這是透過 jekyll-docs 儲存庫完成的,並在那裡提供更詳細的說明。
對於非核心 Gem
如果你不是 jekyll/jekyll
的維護人員,在許多情況下,程序會簡單得多。通常,程序仍然像這樣
- 手動增加 Gem 版本,通常在
lib/<plugin_name>/version.rb
- 調整歷史記錄檔
- 優先使用訊息
"Release :gem: v[CURRENT_VERSION]"
將變更提交至預設分支 - 推送到遠端儲存庫
- 歡呼
如果你不確定,請務必詢問專案的維護人員!