Release Guide

最後編輯:2015-01-14 建立:2014-12-04 歷史紀錄
  • MAT L1. 先從 devel 分支 fork 出一個 release-#.#.# 分支
    • git checkout -b release-#.#.# remotes/origin/devel
    • git push origin release-#.#.#:release-#.#.#
  • 2. 確定 ok 後,標定版本
    • 執行 ./scripts/release.sh <版號> ( 例: v0.6.4 )
    • CARL Sgit commit ( 更新 VERSION, CHANGELOG.md, Manifest, ... )
    • MAT L整體檢查一遍, 若有問題回到前面修正
    • git tag v#.#.#
    • git push && git push --tags
  • 3. 將新版號 #.#.# 併進 master
    • git checkout master
    • git merge #.#.#
    • git push
  • 4. 在標定版本號 #.#.# 下,製作標準 tarball
    • git checkout #.#.#
    • ./configure ; make; make dist
  • 5. 上傳標準 tarball 至一公開網址 ( 作為 official upstream release version )
    • 在 github.com 的 tag 區,編輯最新 tag. 該處可上傳 tarball
  • 6. 寫 email 發佈 release 公報
  • 7. 依此 tarball 對各 distribution 進行打包
    • deb => ( ubuntu PPA / debian repo )
    • rpm => open build service
  • 8. done. ( 接著收集 feedback / bug , 並討論下一版本... )

 

目前套件發佈管道

 

準備事項

 

DEB

  • cd <proj>/sysd
  • apt-get update && apt-get install -y devscripts wget expect
  • 設定 gpg
    • gpg --export-secret-key -a > sec.key ( on host os )
    • gpg --allow-secret-key-import --import < sec.key ( on guest os )
  • cd <proj>/sysd/pkg/deb/
  • edit ppa.sh ,更新 version
  • CARL Schmod +x ppa.sh && ./autosign ./ppa.sh
    Carl Su需要打包做成一個自動化的 Docker image。

 

MAT LRPM

  • 上傳 spec 檔至 package
  • 上傳 tarball 檔至 package