說明
最近接手一個項目
本來是jenkinsfile相關, 但是由于這里很多實現都是用的shell
并且還是用的 bpkg 做的管理, 再在bpkg基礎上, 寫了幾個小命令
多年不寫的shell,居然也有管理工具
被迫需要看具體一些,順便簡單記錄一下
bpkg官網
github搜索 bpkg, 用shell的filter找到項目地址
bpkg簡單說明
由于時間關系, 不翻譯了
簡單敘述一下
安裝
- curl 方式安裝
- clib 方式安裝
- source code 安裝
使用
- 直接全局安裝
- bpkg install xxxx -g
- 局部安裝
- bpkg install xxxx
- 注意:
- 可以在 ./deps/下面找到庫
- 可以加入path (export PATH=$PATH:/path_to_bkpg/deps/bin)
- 特別版本安裝
- bpkg install jwerle/suggest.sh@0.0.1 -g
- 其他方式安裝(別的地方文檔...)
- 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" }
- name
打包方式
- 打包導出
- 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
- 建議的e代碼
結束語
就這樣了, 多用用,應該就熟悉了
這個只是工具
主要要解決的,還是把這塊連起來,把docker發布那塊腳本跑熟悉
加油