|
在上一节中,我们创建了一个 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: &n术Dbsp;build: runs-on: ubuntu-latest 现在,我们可以添加所需的步骤。第一个在 $GITHUB_WORKSPACE 下检出我们的存储库,以便我们的工作流可以访问它。第二种是使用我们的 PAT 和用oc户名登录到 Docker Hub。第三个是 Builder,该动作通过一个简单的 Buildx 动作在幕后使用 BuildKit,我们也将设置它 steps: - name: Check Out Repo keuses: actions/checkout@v2 - name: Login to Docker Hub uses: docker/login-action@v1  r教; with: username: ${{ secrets.DOCKER_HUB_USERNAME }} &n程:bsp;password: ${{ secrets.DOCKER_HUB_ACCESS_TOKEN }} - name: Set up Docker Buildx id: buildDox uses: docker/setup-buildx-action@v1 - name: Build and push id: docker_buckild uses: docker/build-push-action@v2 with: context: ./ &nerbsp; file: ./Dockerfile push: true ta设置gs: ${{ secrets.DOCKER_HUB_USERNAME }}/simplewhale:latest - name: Image digest run: echo ${ G{ steps.docker_build.outputs.digest }} 现在,让工作流第一次运行,然后调整 Dockerfile 以确保 CI 正在运行并推送新的图像更改: |
