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发布那块脚本跑熟悉 加油

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏xingoo, 一个梦想做发明家的程序员

Tomcat6.0 管理器配置

最近忙着毕业答辩,填写材料,好多事情都给耽搁了!一个月都没有继续翻译tomcat,这回有点时间赶紧补上。 这部分,其实对开发者或者tomcat管理者来说,只...

2127
来自专栏北京马哥教育

Redis 集群教程

本文档是Redis集群的入门教程, 从用户的角度介绍了设置、测试和操作集群的方法。 本教程不包含晦涩难懂的分布式概念, 也没有像Redis 集群规范那样包含Re...

3007
来自专栏枕边书

Linux - 请允许我静静地后台运行

前言 常在 linux 下玩耍的开发者肯定会经常遇到需要对进程调度的情况,在 windows 中点击 最小化 去干别的就 OK 了,那么在 linux 下怎么办...

2545
来自专栏SpringBoot 核心技术

Linux杂谈:Mac/Linux下配置远程Linux服务器免密登录

你还在为你每次打开测试环境、生产环境需要登录而犯愁吗? 登录是必须的,但密码是可或缺的!!!

1933
来自专栏Web项目聚集地

MyBatis-逆向工程「Generator使用指南」

当你利用搜索引擎搜索Maven会出来很多名词:对象模型、标准集合、依赖管理系统这是啥啊?差不多得你会用了Maven才会理解这些名称吧,我找到了一个博主的博客

1622
来自专栏Laoqi's Linux运维专列

apache-ab 并发负载压力测试

3373
来自专栏云计算教程系列

如何更改SELinux模式

Security Enhanced Linux是一个Linux安全模块,用于强制或基于角色的访问控制。SELinux默认与CentOS和Fedora打包在一起,...

2522
来自专栏Script Boy (CN-SIMO)

U盘安装Kali 出现cd-rom无法挂载 已解决

用U盘安装Kali Linux的过程中,出现cd-rom无法挂载的现象,百度坑比啊,醉了。 下面亲测成功 出现无法挂载后,选择执行shell 第一步:df -m...

4450
来自专栏我是攻城师

如何监控你的Hadoop+Hbase集群?

3694
来自专栏杂烩

otter安装 原

    https://github.com/alibaba/otter/wiki/QuickStart

1073

扫码关注云+社区

领取腾讯云代金券