在上一节中,我们创建了一个 PAT 并将其添加到 GitHub,以确保我们可以从任何工作流访问 Docker Hub。现在,让我们设置 GitHub Actions 工作流程,以在 Hub 中构建和存储我们的图像。我们可以通过创建两个 Docker 操作来实现这一点:
1.第一个操作使我们能够使用存储在 GitHub 存储库中的机密登录到 Docker Hub。
2.第二个是构建和推送操作。
在这个例子中,让我们将推送标志设置true为我们也想推送。然后我们将添加一个标签来指定始终转到最新版本。最后,我们将回显图像摘要以查看推送的内容。
要设置工作流程:
1.转到您在 GitHub 中的存储库,然后单击操作>新建工作流。
2.单击自行设置工作流并添加以下内容:
首先,我们将命名此工作流:
name: CI to Docker Hub
然后,我们将选择何时运行此工作流。在我们的示例中,我们将针对项目主分支的每次推送执行此操作:
on:
push:
branches: [ main ]
现在,我们需要指定我们实际想要在我们的操作中发生的事情(什么作业),我们将添加我们的构建版本并选择它在可用的最新 Ubuntu 实例上运行:
jobs:
build:
runs-on: ubuntu-latest
现在,我们可以添加所需的步骤。第一个在 $GITHUB_WORKSPACE 下检出我们的存储库,以便我们的工作流可以访问它。第二种是使用我们的 PAT 和用户名登录到 Docker Hub。第三个是 Builder,该动作通过一个简单的 Buildx 动作在幕后使用 BuildKit,我们也将设置它
steps:
– name: Check Out Repo
uses: actions/checkout@v2
– name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKER_HUB_USERNAME }}
password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }}
– name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
– name: Build and push
id: docker_build
uses: docker/build-push-action@v2
with:
context: ./
file: ./Dockerfile
push: true
tags: ${{ secrets.DOCKER_HUB_USERNAME }}/simplewhale:latest
– name: Image digest
run: echo ${{ steps.docker_build.outputs.digest }}
现在,让工作流第一次运行,然后调整 Dockerfile 以确保 CI 正在运行并推送新的图像更改:
Ubuntu是一个以桌面应用为主的Linux操作系统。它是一个开放源代码的自由软件,提供了一个健壮、功能丰富的计算环境,既适合家庭使用又适用于商业环境。Ubuntu将为全球数百个公司提供商业支持。 ...
查看全文Docker采取了一种保守的方法来清理未使用的对象(通常称为“垃圾收集”),例如图像,容器,卷和网络:除非您明确要求Docker这样做,否则通常不会删除这些对象。这可能会导致Docker使用额外的磁盘空...
查看全文新浪科技讯 北京时间5月27日晚间消息,据报道,四位知情人士今日透露,亚马逊、微软和谷歌这三大云计算服务提供商,正在竞争波音公司(Boeing)价值10亿美元的云服务合同。 这些...
查看全文新浪科技讯 北京时间5月27日晚间消息,据报道,多位知情人士今日称,继加州、纽约州和华盛顿州之后,马萨诸塞州和宾夕法尼亚州的总检察长也加入到对亚马逊的反垄断调查中。 如今,越来越...
查看全文
您好!请登录