bpkg工具

2018-09-12 10:21:51 浏览数 (1)

说明

最近接手一个项目 本来是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" }

打包方式
  • 打包导出
    • 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发布那块脚本跑熟悉 加油

0 人点赞