之前,我们学习了如何为 Docker 项目设置 GitHub Actions 工作流,如何通过设置具有构建缓存的构建器来优化工作流。现在让我们看看如何进一步改进它。我们可以通过添加标记版本对所有提交到 master 的行为不同的功能来做到这一点。这意味着,只推送特定版本,而不是每次提交更新 Docker Hub 上的最新版本。
您可以考虑使用这种方法将提交转到本地注册表,然后在夜间测试中使用。通过这样做,您可以始终测试最新版本,同时保留标记版本以发布到 Docker Hub。
这包括两个步骤:
修改 GitHub 工作流以仅将带有特定标签的提交推送到 Docker Hub
设置 GitHub 操作文件以将最新提交作为图像存储在 GitHub 注册表中
首先,让我们修改现有的 GitHub 工作流程,仅在有特定标签时才推送到 Hub。例如:
on:
push:
tags:
– “v*.*.*”
这确保了主 CI 仅在我们使用V.n.n.n.Lets test this标记我们的提交时才会触发。例如,运行以下命令:
git tag -a v1.0.2
git push origin v1.0.2
现在,转到 GitHub 并检查您的操作
现在,让我们设置第二个 GitHub 操作文件,将我们最新的提交作为图像存储在 GitHub 注册表中。您可能希望这样做:
1.运行您的夜间测试或重复测试,或
2.与同事分享正在进行的工作镜像。
让我们克隆我们之前的 GitHub 操作,并为所有推送添加回我们之前的逻辑。这意味着我们有两个工作流文件,我们之前的一个和我们现在将处理的新的。接下来,将您的 Docker Hub 登录名更改为 GitHub 容器注册表登录名:
请记住更改图像的标记方式。以下示例将“最新”作为唯一标记。但是,如果您愿意,您可以为此添加任何逻辑:
tags: ghcr.io/${{ github.repository_owner }}/simplewhale:latest
现在,我们将有两种不同的流程:一种用于我们对 master 的更改,另一种用于我们的拉取请求。接下来,我们需要修改我们之前的内容,以确保我们将 PR 推送到 GitHub 注册表而不是 Docker Hub。
Ubuntu是一个以桌面应用为主的Linux操作系统。它是一个开放源代码的自由软件,提供了一个健壮、功能丰富的计算环境,既适合家庭使用又适用于商业环境。Ubuntu将为全球数百个公司提供商业支持。 ...
查看全文Docker采取了一种保守的方法来清理未使用的对象(通常称为“垃圾收集”),例如图像,容器,卷和网络:除非您明确要求Docker这样做,否则通常不会删除这些对象。这可能会导致Docker使用额外的磁盘空...
查看全文新浪科技讯 北京时间5月27日晚间消息,据报道,四位知情人士今日透露,亚马逊、微软和谷歌这三大云计算服务提供商,正在竞争波音公司(Boeing)价值10亿美元的云服务合同。 这些...
查看全文新浪科技讯 北京时间5月27日晚间消息,据报道,多位知情人士今日称,继加州、纽约州和华盛顿州之后,马萨诸塞州和宾夕法尼亚州的总检察长也加入到对亚马逊的反垄断调查中。 如今,越来越...
查看全文
您好!请登录