说明
最近接手一个项目 本来是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)
- 特别版本安装
- 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
结束语
就这样了, 多用用,应该就熟悉了 这个只是工具 主要要解决的,还是把这块连起来,把docker发布那块脚本跑熟悉 加油