轩辕镜像
轩辕镜像专业版
个人中心搜索镜像
交易
充值流量我的订单
工具
工单支持镜像收录Run 助手IP 归属地密码生成Npm 源Pip 源
帮助
常见问题我要吐槽
其他
关于我们网站地图

官方QQ群: 13763429

轩辕镜像
镜像详情
mwader/bump
官方博客使用教程热门镜像工单支持
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。
所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。
轩辕镜像 - 国内开发者首选的专业 Docker 镜像下载加速服务平台 - 官方QQ群:13763429 👈点击免费获得技术支持。
本站面向开发者与科研用户,提供开源镜像的搜索和下载加速服务。所有镜像均来源于原始开源仓库,本站不存储、不修改、不传播任何镜像内容。

本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

bump Docker 镜像下载 - 轩辕镜像

bump 镜像详细信息和使用指南

bump 镜像标签列表和版本信息

bump 镜像拉取命令和加速下载

bump 镜像使用说明和配置指南

Docker 镜像加速服务 - 轩辕镜像平台

国内开发者首选的 Docker 镜像加速平台

极速拉取 Docker 镜像服务

相关 Docker 镜像推荐

热门 Docker 镜像下载

bump
mwader/bump

bump 镜像详细信息

bump 镜像标签列表

bump 镜像使用说明

bump 镜像拉取命令

Docker 镜像加速服务

轩辕镜像平台优势

镜像下载指南

相关 Docker 镜像推荐

一个通用的版本跟踪和更新工具,用于自动化管理Makefile、Dockerfile、脚本等文本文件中的依赖版本,支持通过配置文件定义版本检测规则和更新策略。
0 次下载activemwader镜像
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源
中文简介版本下载
🚀轩辕镜像专业版更稳定💎一键安装 Docker 配置镜像源

bump 镜像详细说明

bump 使用指南

bump 配置说明

bump 官方文档

Bump

一个通用的版本跟踪和更新工具。

Bump可用于自动化版本更新,适用于其他版本和包管理系统不适用或无法使用的场景。例如,当需要在Makefile、Dockerfile、脚本或其他文本文件中管理依赖版本时。

以下是一个Bumpfile示例,用于将Dockerfile基础镜像版本自动更新到最新的Alpine 3版本:

$ cat Bumpfile
alpine /FROM alpine:([\d.]+)/ docker:alpine|^3
alpine link "发布说明" [***]
Dockerfile
# 查看当前版本
$ bump current
Dockerfile:1: alpine 3.9.2
# 检查可用更新
$ bump check
alpine 3.13.0
# 查看更新差异
$ bump diff
--- Dockerfile
+++ Dockerfile
@@ -1,2 +1,2 @@
-FROM alpine:3.9.2 AS builder
+FROM alpine:3.13.0 AS builder
 
# 应用更新
$ bump update

实际应用示例可参考wader/static-ffmpeg使用的Dockerfile,其中重要库通过bump GitHub Action实现自动更新。

GitHub Action

Bump可作为GitHub Action使用,直接使用wader/bump/action@master或自行提供并引用。以下是每天9点(UTC)读取Bumpfile检查版本更新并创建PR的工作流配置:

name: '自动版本更新'
on:
  schedule:
    # 分 时 日 月 周 (UTC)
    - cron: '0 9 * * *'
  # 允许手动触发版本更新
  workflow_dispatch:
jobs:
  bump:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@master
      - uses: wader/bump/action@master
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

查看action.yml获取输入参数详情。

注意:若希望bump创建的PR触发其他Action(如CI构建),当前需使用具有仓库访问权限的个人访问令牌,并添加为密钥。例如,添加名为BUMP_TOKEN的密钥,然后配置GITHUB_TOKEN: ${{ secrets.BUMP_TOKEN }}。

提供以下不同环境的Action:
wader/bump/action@master:包含git和curl的alpine环境
wader/bump/action/go@master:包含git、curl和go的alpine环境

安装

Docker

Docker Hub镜像:

docker run --rm -v "$PWD:$PWD" -w "$PWD" mwader/bump help

构建镜像:

docker build -t bump .

源码构建

安装go后执行以下命令,可将bump安装到$(go env GOPATH)/bin/bump:

go get github.com/wader/bump/cmd/bump

使用

$ bump help
用法: bump [选项] 命令
选项:
  -e                    要排除的配置名称(逗号分隔)
  -f                    要读取的Bumpfile(默认:Bumpfile)
  -i                    要包含的配置名称(逗号分隔)
  -r                    运行更新命令(默认:false)
  -v                    详细输出(默认:false)

命令:
  version               显示bump自身版本(dev)
  help [FILTER]         显示帮助或指定过滤器的帮助
  list [FILE...]        显示bump配置
  current [FILE...]     显示当前版本
  check [FILE...]       检查可能的版本更新
  update [FILE...]      更新版本
  diff [FILE...]        显示更新将产生的差异
  pipeline PIPELINE     运行过滤器管道

BUMPFILE是包含CONFIG或文件全局模式的文件
FILE是包含EMBEDCONFIG或待检查更新版本的文件
EMBEDCONFIG格式:"bump: CONFIG"
CONFIG格式:
  名称 /正则表达式/ 管道 |
  名称 command 命令 |
  名称 after 命令 |
  名称 message 消息 |
  名称 link 标题 URL
名称是配置的标识
正则表达式是包含一个子匹配以查找当前版本的正则
管道是过滤器管道:过滤器|过滤器|...
过滤器:
  git:<仓库> | <仓库.git>
  gitrefs:<仓库>
  docker:<镜像>
  svn:<仓库>
  fetch:<URL> | <http://> | <https://>
  semver:<约束> | semver:<n.n.n-pre+build> | <约束> | <n.n.n-pre+build>
  re:/<正则表达式>/ | re:/<正则表达式>/<模板>/ | /<正则表达式>/ | /<正则表达式>/<模板>/
  sort
  key:<名称> | @<名称>
  static:<名称[:键=值:...]>,...
  err:<错误>

配置

名称是配置的标识。

正则表达式是golang正则表达式,包含一个子匹配用于查找当前版本。

管道是描述如何查找最新合适版本的过滤器管道:过滤器|过滤器|...

Bumpfile

默认情况下,bump在当前目录查找名为Bumpfile的文件。每行可为注释、配置或文件全局模式(用于读取嵌入式配置)。

# 注释
名称 /正则表达式/ 管道
名称 [command|after] 命令
名称 message 消息
名称 link 标题 URL
文件名
全局模式/*

Bumpfile示例:

# 一个bump配置
alpine /FROM alpine:([\d.]+)/ docker:alpine|^3
alpine message 确保同时使用abc进行测试
alpine link "发布说明" [***]
# 读取配置,检查并更新Dockerfile中的版本
Dockerfile

嵌入式配置

嵌入式配置可将bump配置直接包含在需要检查或更新版本的文件中。

嵌入式配置格式:

bump: 名称 /正则表达式/ 管道

含嵌入式配置的Dockerfile示例:

# bump: alpine /FROM alpine:([\d.]+)/ docker:alpine|^3
FROM alpine:3.9.3 AS builder

更新时运行shell命令

bump: 名称 [command|after] 命令

执行命令时会设置以下环境变量:
$名称:配置名称
$CURRENT:当前版本
$LATEST:可用的最新版本

有两种shell命令类型:command和after。command会替代bump的默认修改操作;after会在bump完成修改后执行。若配置多个命令,将按配置顺序执行。

使用command通过go get更新go.mod和go.sum的Bumpfile示例:

module program

go 1.12

require (
  // bump: leaktest /github.com\/fortytw2\/leaktest v(.*)/ git:[***]|^1
  // bump: leaktest command go get -d github.com/fortytw2/leaktest@v$LATEST && go mod tidy
  github.com/fortytw2/leaktest v1.2.0
)

使用after运行脚本更新下载哈希的Bumpfile示例:

libvorbis after ./hashupdate Dockerfile VORBIS $LATEST

提交和拉取请求消息及链接

名称 message 消息
名称 link "标题" URL

消息、标题和URL中可使用以下变量:
$名称:配置名称
$CURRENT:当前版本
$LATEST:可用的最新版本

通过配置一个或多个message和link,可将消息和链接包含在提交消息和拉取请求中。

示例:

libvorbis link "CHANGES文件" [***]
libvorbis link "源码差异 $CURRENT..$LATEST" [***]

管道

管道由一个或多个按顺序执行的过滤器组成。通常以从某个源(如git仓库)生成版本的过滤器开始,后续过滤器用于选择、转换和排序版本,最终确定一个版本。若管道生成多个版本,将使用第一个。

版本是键值对字典,"name"键通常是版本号(如"1.2.3")或符号名称(如"master")。版本还可包含其他键(如"commit"、"version"等),具体取决于源。可使用键过滤器key:<名称>或@<名称>引用这些键。

默认所有过滤器操作默认键"name",可通过key:<名称>或@<名称>在管道中更改默认键。

示例

以下示例使用bump pipeline 管道测试运行管道并显示结果。使用bump -v pipeline 管道可获取更详细的输出,有助于测试管道。

# 最新的4.0版本ffmpeg
$ bump pipeline '[***]|^4'
4.3.1
# 最新4.0版本ffmpeg的提交哈希
$ bump pipeline '[***]|^4|@commit'
a3a26a98652fbdaa474e95cfbc12f68b64ca1e6f
# 最新的1.0版本golang docker构建镜像
$ bump pipeline 'docker:golang|^1'
1.15.6
# 最新的mp3lame版本
$ bump pipeline 'svn:[***]|/^RELEASE__(.*)$/|/_/./|*'
3.100

过滤器

过滤器用于生成、转换和筛选版本。部分过滤器(如git)生成版本,re和semver用于转换和筛选。

git git:<仓库> 或 <仓库.git>
gitrefs gitrefs:<仓库>
docker docker:<镜像>
svn svn:<仓库>
fetch fetch:<URL>、<http://> 或 <https://>
semver semver:<约束>、semver:<n.n.n-pre+build>、<约束> 或 <n.n.n-pre+build>
re re:/<正则表达式>/、re:/<正则表达式>/<模板>/、/<正则表达式>/ 或 /<正则表达式>/<模板>/
sort sort
key key:<名称> 或 @<名称>
static static:<名称[:键=值:...]>,...
err err:<错误>

git

git:<仓库> 或 <仓库.git>

从git仓库的标签生成版本。"name"为标签中的版本号,"commit"为提交哈希或标签对象。

使用gitrefs过滤器可从所有引用生成版本。

$ bump pipeline '[***]|*'
2.30.0
$ bump pipeline 'git://github.com/git/git.git|*'
2.30.0

gitrefs

gitrefs:<仓库>

从git仓库的所有引用生成版本。"name"为完整引用(如"refs/tags/v2.7.3"),"commit"为提交哈希。

使用git过滤器仅从标签生成版本。

$ bump pipeline 'gitrefs:[***]
HEAD

docker

docker:<镜像>

从Docker Hub镜像生成版本。

$ bump pipeline 'docker:alpine|^3'
3.13.0

svn

svn:<仓库>

从subversion仓库的标签和分支生成版本。"name"为标签或分支名称,"version"为修订号。

$ bump pipeline 'svn:[***]|*'
1.14.0

fetch

fetch:<URL>、<http://> 或 <https://>

获取URL内容,生成一个版本,"name"键为内容。

$ bump pipeline 'fetch:[***]|/latest release is version (\w+)/'
6b

semver

semver:<约束>、semver:<n.n.n-pre+build>、<约束> 或 <n.n.n-pre+build>

使用语义化版本筛选或转换版本。

提供约束时,用于查找满足约束的最新版本。

提供版本模式时,用于转换版本。

# 查找最新的主版本1版本
$ bump pipeline 'static:1.1.2,1.1.3,1.2.0|semver:^1'
1.2.0
# 查找最新的次版本1.1版本
$ bump pipeline 'static:1.1.2,1.1.3,1.2.0|~1.1'
1.1.3
# 转换为仅主版本.次版本
$ bump pipeline 'static:1.2.3|n.n'
1.2

re

re:/<正则表达式>/、re:/<正则表达式>/<模板>/、/<正则表达式>/ 或 /<正则表达式>/<模板>/

可通过将第一个/替换为其他字符指定替代的正则/模板分隔符,例如:re:#正则表达式#模板#。

使用golang正则表达式筛选名称。若名称不匹配正则表达式,版本将被跳过。

若仅提供正则表达式且无模板和子匹配,名称不变。

若定义子匹配,名为"name"或"value"的子匹配将分别用作名称和值,否则第一个子匹配用作名称。

若定义模板且无匹配子,模板用作替换字符串;若有子匹配,模板用于展开$0、${1}、$name等。

正则表达式可多次匹配。使用^$锚点或(?m:)确保单次匹配或按行匹配。

# 仅筛选
$ bump pipeline 'static:a,b|/b/'
b
# 简单替换
$ bump pipeline 'static:aaa|re:/a/b/'
bbb
# 使用#作为分隔符的简单替换
$ bump pipeline 'static:aaa|re:#a#b#'
bbb
# 第一个子匹配作为名称
$ bump pipeline 'static:ab|re:/a(.)/'
b
# 多子匹配替换
$ bump pipeline 'static:ab:1|/(.)(.)/${0}$2$1/'
abba
# 命名子匹配作为名称和值
$ bump pipeline 'static:ab|re:/(?P<name>.)(?P<value>.)/'
a
$ bump pipeline 'static:ab|re:/(?P<name>.)(?P<value>.)/|@value'
b

sort

sort

按字母逆序排序版本。

$ bump pipeline 'static:a,b,c|sort'
c

key

key:<名称> 或 @<名称>

更改管道的默认键。常用于管道末尾(如使用git提交哈希而非标签名称)或管道中间(如需基于其他键进行正则筛选)。

$ bump pipeline 'static:1.0:hello=world|@hello'
world
$ bump pipeline 'static:1.0:hello=world|@name'
1.0
$ bump pipeline 'static:1.0:hello=world|key:hello'
world

static

static:<名称[:键=值:...]>,...

从过滤器参数生成版本。

$ bump pipeline 'static:1,2,3,4:key=value:a=b|sort'
4

err

err:<错误>

抛出错误消息。用于测试。

$ bump pipeline 'err:test'
test

想法、待办事项和已知问题

  • GitHub Action:如何访问包管理器工具?单独的docker镜像?bump-go?在其他镜像中安装bump二进制文件?
  • GitHub Action:PR标签
  • GitHub Action:某种测试机制
  • 配置模板、go包等?
  • 为bump自身提供正确的版本号
  • 如何与hg集成
查看更多 bump 相关镜像 →
treeder/bump logo
treeder/bump
by treeder
暂无描述
3100K+ pulls
上次更新:6 个月前

常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像免费版与专业版有分别支持哪些镜像?

免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

轩辕镜像下载加速使用手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

🔐

登录方式进行 Docker 镜像下载加速教程

通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤

🐧

Linux Docker 镜像下载加速教程

在 Linux 系统上配置轩辕镜像源,支持主流发行版

🖥️

Windows/Mac Docker 镜像下载加速教程

在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统

📦

Docker Compose 镜像下载加速教程

在 Docker Compose 中使用轩辕镜像加速,支持容器编排

📋

K8s containerd 镜像下载加速教程

在 k8s 中配置 containerd 使用轩辕镜像加速

🔧

宝塔面板 Docker 镜像下载加速教程

在宝塔面板中配置轩辕镜像加速,提升服务器管理效率

💾

群晖 NAS Docker 镜像下载加速教程

在 Synology 群晖NAS系统中配置轩辕镜像加速

🐂

飞牛fnOS Docker 镜像下载加速教程

在飞牛fnOS系统中配置轩辕镜像加速

📱

极空间 NAS Docker 镜像下载加速教程

在极空间NAS中配置轩辕镜像加速

⚡

爱快路由 ikuai Docker 镜像下载加速教程

在爱快ikuai系统中配置轩辕镜像加速

🔗

绿联 NAS Docker 镜像下载加速教程

在绿联NAS系统中配置轩辕镜像加速

🌐

威联通 NAS Docker 镜像下载加速教程

在威联通NAS系统中配置轩辕镜像加速

📦

Podman Docker 镜像下载加速教程

在 Podman 中配置轩辕镜像加速,支持多系统

📚

ghcr、Quay、nvcr、k8s、gcr 等仓库下载镜像加速教程

配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤

🚀

专属域名方式进行 Docker 镜像下载加速教程

无需登录即可使用轩辕镜像加速服务,更加便捷高效

需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429

商务:17300950906
|©2024-2025 源码跳动
商务合作电话:17300950906|Copyright © 2024-2025 杭州源码跳动科技有限公司. All rights reserved.