云计算核心技术Docker教程:Docker设置 GitHub Actions 工作流程

2022-11-18

在上一节中,我们创建了一个 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 正在运行并推送新的图像更改:

您好!请登录

点击取消回复