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

学习云计算核心技术:将版本标记推送至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 Hub

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

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

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

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

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

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

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

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

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