图像生成器;构建、标记和推送 docker 镜像
项目描述
自述文件
ibuilder 是一个基于cli的docker镜像构建器。它提供了一个用于构建和推送镜像以及在构建后使用构建版本和其他常见镜像任务标记源代码的接口。
新的
- 增加了签署图像的能力(例如 cosign)
- 增强的构建摘要更简洁
- 增强的构建细节更简洁
- 添加了检查以确保 docker(服务)可用
- 清理构建输出以使用丰富的状态并将日志发送到历史记录与流
- 更改了逻辑,因此如果构建映像步骤失败,构建将终止
特征
- build:构建 docker 镜像
- push:将图像推送到任何容器注册表
- 签名:为容器签名和验证签名图像
- 源代码控制:构建图像时标记和推送
- 历史:保留构建历史,以便快速/轻松地访问过去的构建信息
- 快速/简单:创建
ibuilder.toml文件并运行ib build -i minor以构建、推送、提交到源代码控制并签署新映像
要求
- 蟒蛇 3
- docker:必须设置docker,因为它用于构建和推送图像
- git:(可选)如果您使用源标签功能,则需要安装 git 并在 git 中设置代码(它只是从工作目录执行 git tag && git push)
- 图像签名者:(可选)如果您选择对图像进行签名,则需要签名者(例如 cosign)
概述
- 设置(请参阅#setup)
- 配置(请参阅#configure):将副本
example/.ibuilder.toml放在与要构建的应用程序的 Dockerfile 相同的目录中,并根据需要进行调整 - 运行(参见#run):执行 ibuilder 来构建/推送/标记您的应用程序的版本,它就像
ib build
安装
我们推荐使用pipx来安装 ibuilder: pipx install ibuilder。您也可以通过 pip: 安装pip install --user ibuilder。
设置
ibuilder 使用配置文件来存储您的设置。您使用 ibuilder 构建的每个“应用程序”都希望此文件位于您正在构建的应用程序的“根”中。该文件包含诸如是否构建、推送、标记映像、要应用的标签、要使用的 Dockerfile 等信息。您可以从 ibuilder/example/.ibuilder.toml获取示例配置文件。
配置
- 创建项目配置文件
- 将
example/.ibuilder.toml文件的副本放在您的项目中(与 Dockerfile 相同的目录)并根据需要进行配置
- 将
特征
如果您创建一个名为“BUILD_VERSION”的 arg,其值将被当前构建的构建版本替换。这可用于将构建版本从 ibuilder 传递到您的 docker 环境中。
跑
- 基本运行:
ib build --version=1.2.3- 上面的命令假定
.ibuilder.toml当前工作目录中有一个恰好与您希望构建的 Dockerfile 位于同一目录中
- 上面的命令假定
- 更改日志记录级别:
LOG_LEVEL=DEBUG ib build...- 支持的标准 python 日志级别:CRITICAL|ERROR|WARNING|INFO|DEBUG(默认为 INFO)查看帮助
ib --help或查看特定命令的帮助:ib build --help.
- 支持的标准 python 日志级别:CRITICAL|ERROR|WARNING|INFO|DEBUG(默认为 INFO)查看帮助
建议
我们建议将 docker 的配置存储用于 reg_auth-* 相关的配置项,因为它会加密敏感信息并且可能已经配置(如果您已经使用过docker login)。如果您将其余项目留空,则将使用默认值。$HOME/.docker/config.json然后,这将尝试$HOME/.dockercfg为您的 docker 配置设置。如果您还没有 docker config run docker login,应该为您创建它。成功登录后,您不需要为应用程序执行任何其他操作,因为所需的信息将存储在您的 dockercfg 中,应用程序将在需要时使用它。
遗产
该项目最初以 boi 的名称开始 - 图像构建器,因此您可能会发现对 boi 的引用,甚至对 boi 的向后支持(例如本地历史数据库、用户配置文件等)。
链接
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。