github-actions - 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 操作来调用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。