首页 > 解决方案 > Github 操作调用 Makefile 假并将图像推送到 dockerhub

问题描述

我们可以使用 github 操作来调用 Makefile 命令并将图像构建/推送到 docker hub。

我看到了许多使用 Github 操作来构建图像并将其推送到 dockerhub 的示例,但无法获得有关如何将其与 Makefile 集成的示例或文档

      - name: Build and push Docker image
        uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
        with:
          context: .
          push: true
          tags: ${{ steps.meta.outputs.tags }}
          labels: ${{ steps.meta.outputs.labels }}

https://docs.github.com/en/actions/guides/publishing-docker-images

我实际上必须构建一些实用程序并将其复制到 Docker 映像。所以它不仅仅是一个直接的docker build命令。

标签: github-actions

解决方案


我们可以使用 github 操作来调用Makefile 命令并将图像构建/推送到 docker hub。

是的你可以!

这个关于如何在 Github Actions 中使用 Makefile 的答案解释了如何访问您的 Makefile 命令。

然后,在您的情况下,一旦您使用 Makefile 命令来管理要推送的 Docker 文件,您只需要使用docker/build-push-action

示例:您最终可以通过工作流中的 Makefile 命令创建或更新文件夹,然后配置构建和推送步骤以将文件从该文件夹获取到 Docker。

对于 Dockerfile,它看起来像这样。

      - run: make <command>
      - name: Build and push
        uses: docker/build-push-action@v2
        with:
          file: ./<folder_name>/Dockerfile
          push: true
          tags: <whatever_you_want>

只是不要忘记,如果您想在工作流程中访问或执行来自当前存储库的文件,则需要使用actions/checkout


推荐阅读