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

我们学习了如何为 Docker 项目设置 GitHub Actions 工作流,如何通过设置具有构建缓存的构建器来优化工作流。现在让我们看看如何进一步改进它。

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

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

这包括两个步骤:

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

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

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

on:

push:

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

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

tags: ghcr.io/${{ github.repository_owner }}/simplewhale:latest

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

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

给TA打赏
共{{data.count}}人
人已打赏
云计算

小米否认长沙仓库失火:货品有牵连受损 不影响618订单

2021-6-7 17:13:09

云计算

高考首日:高考相关内容贡献互联网近半热搜

2021-6-7 18:41:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索