我正在学习 Github Actions 并设计一个需要Service Container的工作的工作流。
文档指出,配置必须指定“用作运行操作的服务容器的 Docker 映像。该值可以是 Docker 基本映像名称或公共 docker Hub 或注册表” 。文档中的所有示例都使用公开可用的 Docker 映像,但是我想从我的存储库中包含的 Dockerfile 创建一个服务容器。
是否可以使用本地 Dockerfile 来创建服务容器?
由于作业依赖于服务容器,因此该映像在作业开始时必须存在,因此无法通过同一作业中的较早步骤创建该映像。该图像可以在单独的作业中构建,但是由于作业在单独的运行器中执行,我相信作业 2 将无法访问在作业 1 中创建的图像。如果这是真的,那么我可以按照这种方法使用上传/下载-工件所以将工作 1 的图像提供给工作 2?
如果一切都失败了,我可以让 Job 1 创建映像并将其上传到 Docker Hub,然后让 Job 2 从 Docker Hub 下载它,但肯定有更好的方法。