--- tags: Python --- # bumpversion [TOC] 以往在跳[版本號](https://semver.org/lang/zh-TW/)時,經常要去手動一一修改版本號,很容易漏掉某一個程式碼下的某一段版本號,因此我們需要 [bumpversion](https://pypi.org/project/bumpversion/) 來**更方便跳版本號**。 ## 應用 1. 新建一個新的專案,並安裝 bumpversion 。 ```shell $ pip install bumpversion ``` 2. 新增 `.bumpversion.cfg` 配置 bumpversion 的[相關設定](https://github.com/peritus/bumpversion#configuration) 。 ``` [bumpversion] current_version = 0.1.0 commit = True ``` `commit = True` 表示跳版本號時會自動送出 commit 。 `tag = True` 在這邊沒有設置的原因為:PET 目前大部分的部署都是透過 tag 來觸發,所以採用手動觸發的方式會比較保險。 3. 進行跳號 `$ bumpversion {major/minor/patch}` 。 ```shell $ bumpversion patch ``` 此時 `.bumpversion.cfg` 內的 `current_version` 會變成 0.1.1 。 4. 假設有其他文件需要替換版本訊息,可以在 `.bumpversion.cfg` 內設定。 ``` [bumpversion] current_version = 0.1.0 commit = True [bumpversion:file:demo.py] search = __version__ = '{current_version}' replace = __version__ = '{new_version}' ``` `demo.py` 跳號前的內容: ```python __version__ = 0.1.1 version = 0.1.1 ``` 執行跳號就會去修改符合條件的部分。 `demo.py` 跳號後的內容: ```python __version__ = 0.1.2 version = 0.1.1 ```