前幾天已經介紹了有關於 Ohara 測試程式的撰寫、QA 是如何執行以及開 Pull Request 的部份,有了這些流程會使大型系統的開發更加的方便和讓系統可以更加的穩定,今天就來介紹有關於 Ohara Release 的部份。
Ohara 在每一個 Milestone 開始時會先規劃這次主要要做的功能或是要修哪些 Bug,然後在 Milestone 結束時就會 release 出一個版本,每一個 Milestone 大約是一個月的時間,每一次的 Release 都會選出一個 Release Manager 來做 Release 的工作,今天就來介紹 Ohara 在 Release 所要做哪些的工作。
以下就來介紹 Ohara Release 時要做哪些事情:
在 github 上建立一個 issue,標題的格式為 Ohara ${VERSION} Release,以 0.8 為例 issue 的標題如下:
Ohara 0.8 Release,describe 需要寫的內容可以參考以下的連結:
https://github.com/oharastream/ohara/issues/2278
確保所有的程式碼都有更新並且建立要 release 的 branch,以 0.8 為例, 指令如下:
$ git fetch origin master && git merge master
$ git branch -b 0.8.x
$ git push -u origin 0.8.x
開 PR 更新 master 所有程式和文件的版本號,例如這次要 release 的版本號為 0.8 所以要把 master 程式和文件的版本號改成 0.9.0-SNAPSHOT,可以參考以下的 PR:
https://github.com/oharastream/ohara/pull/2866
聯絡 QA 的管理員要求開放可以跑 0.9.0-SNAPSHOT QA branch 的權限
建立 ohara 產品測試的議題,選擇 new issue 的按鈕之後,選擇 Product testing report 的部份,按 Get started 的按鈕。畫面如下:
這個步驟主要是在 release 之前再一次做手動測試的部份
把第 2 點建立的 branch, 如 0.8.x branch 程式碼和文件有 0.8.0-SNAPSHOT 的部份修改成 0.8.0 並且開 PR
在 github 的 release 畫面先建立草稿 (draf), 畫面如下:
按下 Draf a new release 的按鈕之後,就會看到如下的畫面:
主要會輸入 Release 的標題、 Release 了哪些的功能,然後按下 Save draf
$ gradle clean build -PskipManager -x test bintrayUpload -PbintrayUser=$user -PbintrayKey=$APIKey -PdryRun=false -Poverride=true
在這裡有可能需要連絡管理員給上傳 jar 檔的權限
$ git checkout 0.8.x
$ git tag -a 0.8.0 -m "Release 0.8.0"
$ git push upstream --tags
$ gradle clean build -x test -PskipManager
build 出來的檔案,會放在 $OHARA_HOME/ohara-assembly/build/distributions/ ,主要上傳 ohara-${version}.tar 和 oahra-${version}.zip 二個檔案。
當一個版本 release 出去之後就代表一個 Milestone 結束了。