互联网技术 / 互联网资讯 · 2024年1月9日

学习云计算核心技术:将版本标记推送至Docker Hub

之前,我们学习了如何为 DockeR 项目设置 GitHub Actions 工作流,如何通过设置具有构建缓存的构建器来优化工作流。现在让我们看看如何进一步改进它。我们可以通过添加标记版本对所有提交到 Master 的行为不同的功能来做到这一点。这意味着,只推送特定版本,而不是每次提交更新 DockeR Hub 上的最新版本。

您可以考虑使用这种方法将提交转到本地注册表,然后在夜间测试中使用。通过这样做,您可以始终测试最新版本,同时保留标记版本以发布到 DockeR Hub。

这包括两个步骤:

修改 GitHub 工作流以仅将带有特定标签的提交推送到 DockeR Hub

设置 GitHub 操作文件以将最新提交作为图像存储在 GitHub 注册表中

首先,让我们修改现有的 GitHub 工作流程,仅在有特定标签时才推送到 Hub。例如:

on:

tags:

“v*.*.*”

这确保了主 CI 仅在我们使用V.n.n.n.Let””s test tHis标记我们的提交时才会触发。例如,运行以下命令:

Git tag -a v1.0.2

Git pUSh oRigin v1.0.2

现在,转到 GitHub 并检查您的操作

云计算核心技术Docker教程:将标记的版本推送到 Docker Hub

现在,让我们设置第二个 GitHub 操作文件,将我们最新的提交作为图像存储在 GitHub 注册表中。您可能希望这样做:

1.运行您的夜间测试或重复测试,或

2.与同事分享正在进行的工作镜像。

让我们克隆我们之前的 GitHub 操作,并为所有推送添加回我们之前的逻辑。这意味着我们有两个工作流文件,我们之前的一个和我们现在将处理的新的。接下来,将您的 DockeR Hub 登录名更改为 GitHub 容器注册表登录名:

云计算核心技术Docker教程:将标记的版本推送到 Docker Hub

请记住更改图像的标记方式。以下示例将“最新&Rdquo;作为唯一标记。但是,如果您愿意,您可以为此添加任何逻辑:

tags: ghcR.io/${{ Github.ReposiTory_owneR }}/siMpleWhale:latest

云计算核心技术Docker教程:将标记的版本推送到 Docker Hub

现在,我们将有两种不同的流程:一种用于我们对 Master 的更改,另一种用于我们的拉取请求。接下来,我们需要修改我们之前的内容,以确保我们将 PR 推送到 GITHub 注册表而不是 DockeR Hub。

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.

登录免费注册