編年史
0.8.0
一個快速變更日誌產生器,可從 GitHub PR 和問題中取得變更,並按標籤組織。
建立從上一個 GitHub 版本到目前目錄中 git 儲存庫的目前 git HEAD 標記/提交的變更日誌:
編年史
建立一個變更日誌,其中包含從 v0.16.0 到目前目錄中 git 儲存庫的目前 git HEAD 標記/提交的所有變更:
編年史--since-tag v0.16.0
在給定路徑的儲存庫的兩個特定標籤之間建立變更日誌
歷史 --since-tag v0.16.0 --until-tag v0.18.0 ./path/to/git/repo
建立變更日誌並從變更日誌中的變更集猜測發布版本
編年史-n
只需根據更改集猜測下一個發行版本(不要創建更改日誌)
編年史下一個版本
捲曲-sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b /usr/local/bin
……或者,您可以指定安裝的發行版本和目標目錄:
curl -sSfL https://raw.githubusercontent.com/anchore/chronicle/main/install.sh | sh -s -- -b
配置搜尋路徑:
.chronicle.yaml
.chronicle/config.yaml
~/.chronicle.yaml
配置選項(範例值為預設值):
# 變更日誌的輸出格式# 與 -o、--output 和 CHRONICLE_OUTPUT env varoutput: md# 抑制所有日誌輸出# 與 -q 相同; CHRONICLE_QUIET env varquiet: false# 所有日誌記錄選項log: # 使用結構化日誌記錄# 與CHRONICLE_LOG_STRUCTURED 相同env var Structured: false # 日誌等級# 與CHRONICLE_LOG_LEVEL 相同env var level:v var level:不是有日誌檔案) # 與 CHRONICLE_LOG_FILE 相同 env var file: ""# 根據當前版本和更改集猜測下一個發行版本是什麼(不能與 --until-tag 一起使用)# 與 --speculate- 相同下一個版本/ -n ; CHRONICLE_SPECULATE_NEXT_VERSION env varspeculate-next-version: false# 覆蓋變更日誌的起始 git 標籤(預設為自動偵測最後一個版本)# 與 --since-tag / -s 相同; CHRONICLE_SINCE_TAG env varsince-tag: ""# 覆蓋變更日誌的結束 git 標籤(預設是使用標籤或在 git HEAD 提交)# 與 --until-tag / -u 相同; CHRONICLE_SINCE_TAG env varuntil-tag: ""# 如果目前發行版本 < v1.0,則重大變更將變更次要版本欄位# 與 CHRONICLE_ENFORCE_V0 相同 env varenforce-v0: false# 用於變更日誌的標題# 與 CHRONICLE_TLEti #所有與github 相關的設定github: # 要使用的 github 主機(覆蓋 github 企業部署) # 與 CHRONICLE_GITHUB_HOST env var host: github.com 相同 # 不考慮任何給定標籤的任何問題或 PR # 與 CHRONICLE_GITHUB_EXCLUDE_LABELS env var except-labels 相同: - 複製 - 問題 - 無效的 - 不會修復 - 不會修復 - 釋放-忽略 - 更改日誌忽略 - 忽略 # 將合併的PR 視為候選變更日誌條目(必須具有來自'github.changes' 條目的匹配標籤) # 與CHRONICLE_GITHUB_INCLUDE_PRS env var include-prs: true # 將已關閉的問題視為候選變更日誌條目(必須具有候選變更日誌條目(必須具有候選變更日誌條目來自'github.changes' 條目) # 與 CHRONICLE_GITHUB_INCLUDE_ISSUES 相同 env var include-issues: true # 僅當更新日誌候選者俱有合併的連結 PR 時,才能考慮問題(注意:不需要設定 github.include-issues) # 與CHRONICLE_GITHUB_ISSUES_REQUIRE_LINKED_PRS 環境變數相同issues-require-linked-prs: false # 應用於問題或 PR 的標籤構成變更日誌條目的定義清單。這些條目還規定了變更日誌部分、變更日誌標題和最能代表變更類別的 semver 欄位。 # 注意:無法透過環境變數設定變更:[...<條目列表>...] # 有關更多詳細信息,請參閱「預設 GitHub 變更定義」部分
github.changes
可設定為映射列表,每個映射都採用以下字段:
name
: [字串]最能代表更改的單數、小寫、連字符分隔(無空格)名稱(例如“突破性更改”、“安全性”、“添加功能”、“增強功能”、“新功能” 、 ETC)。
title
: [string]更改日誌中列出所有條目的部分的標題。
semver-field
: [字串]更改條目在猜測下一個發行版本時將碰撞相應的 semver 欄位。允許的值: major
、 minor
或patch
。
labels
: [字串清單]應與此變更部分相符的所有問題或 PR 標籤。
github.changes
的預設值為:
- 名稱:安全修復標題:安全修復 semver 欄位:修補程式標籤: - 安全 - 脆弱性 - 名稱:新增的功能標題:新增的功能 semver-field:次要標籤: - 增強 - 特徵 - 次要的 - 名稱:錯誤修復標題:錯誤修復 semver 欄位:補丁標籤: - 漏洞 - 使固定 - 錯誤修復 - 修補 - 名稱:重大功能標題:重大變更 semver 欄位:主要標籤: - 打破 - 向後不相容 - 突破性改變 - 破壞功能 - 主要的 - 名稱:刪除的功能標題:刪除的功能 semver-field:主要標籤: - 刪除 - 名稱:已棄用的功能標題:已棄用的功能 semver-field:次要標籤: - 已棄用- 名稱:未知標題:其他更改