bpkg工具

說明

最近接手一個項目
本來是jenkinsfile相關, 但是由于這里很多實現都是用的shell
并且還是用的 bpkg 做的管理, 再在bpkg基礎上, 寫了幾個小命令
多年不寫的shell,居然也有管理工具
被迫需要看具體一些,順便簡單記錄一下


bpkg官網

github搜索 bpkg, 用shell的filter找到項目地址

bpkg項目地址


bpkg簡單說明

由于時間關系, 不翻譯了
簡單敘述一下


安裝

  • curl 方式安裝
  • clib 方式安裝
  • source code 安裝

使用

  • 直接全局安裝
    • bpkg install xxxx -g
  • 局部安裝
    • bpkg install xxxx
    • 注意:
      • 可以在 ./deps/下面找到庫
      • 可以加入path (export PATH=$PATH:/path_to_bkpg/deps/bin)
  • 特別版本安裝
  • 其他方式安裝(別的地方文檔...)
    • github方式
    • gitlab方式
    • coding.net方式
  • Makefile方式(沒有package.json時)
    • 當 bpkg install xxx -g 的時候,會觸發Makefile安裝
    • 例如: bpkg install stephenmathieson/git-standup -g

package細節

  • package.json
    • 例子:
      {
        "name": "term",
        "version": "0.0.1",
        "description": "Terminal utility functions",
        "scripts": [ "term.sh" ],
        "install": "make install"
      }
      
  • package.json 具體field說明
    • name
      • 告訴 bpkg,放在 deps/ 下面那個文件夾
    • version
      • 版本
    • description
      • 這個package是做什么的(說人話)
    • global
      • 只有用 -g ,-global 的時候安裝
    • install
      • 如果 global是true的時候, 用于安裝腳本調用的shell
    • script
      • 所有會被安裝的腳本
      • 也就是對于項目中要跑的腳本(方法,或者變量,或者..)
    • files
      • 所有的文件,會被放到項目中
    • dependencies[選填]
      • key是package名字,value是版本 (master是最新版本)
      • 作用和 bpkg install 類似
      • 例子:
        "dependencies": {
          "term": "0.0.1"
        }
        

打包方式

  • 打包導出
    • export -f xxx
  • 例子
    • 建議的e代碼
      if [[ ${BASH_SOURCE[0]} != $0 ]]; then
        export -f my_script
      else
        my_script "${@}"
        exit $?
      fi
      
    • 調用方式(直接用 script, 或者 source后再用)
      # Running as a script
      $ ./my_script.sh some args --blah
      # Sourcing the script
      $ source my_script.sh
      $ my_script some more args --blah
      

結束語

就這樣了, 多用用,應該就熟悉了
這個只是工具
主要要解決的,還是把這塊連起來,把docker發布那塊腳本跑熟悉
加油

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容