Concourse:在放置步骤期间无法访问作业资源
Concourse: cannot access job resources during put step
我正在尝试使用构建参数创建并推送包含我的应用程序依赖项的 docker 映像。在 concourse 文档中,它指出通过 get
获取的所有资源在放置步骤中都可用。我似乎无法访问我的 git 资源,但是为了从中提取 pom.xml 文件。当我尝试 运行 这份工作时,我得到一个错误 pom.xml 文件不存在。
管道作业
- name: get-dependencies
plan:
- get: git-repo
passed: [pull-repo]
trigger: true
- get: artifacts-container
- put: artifacts-container
params:
inputs: [git-repo]
build: git-repo/app/concourse/dockerfiles/artifacts
Docker 文件
# Set base image qualities
FROM localhost:5000/app-artifacts:0.0.3 AS build
Load application into image
COPY git-repo/app/pom.xml /
RUN mvn dependency:go-offline
不确定你的容器是做什么的,但你应该删除 - get: artifacts-container
语句并只保留 put
.
我遇到了类似的问题。我想构建一个 docker 图像并使用 COPY 命令将来自不同资源的文件夹放入该图像。
首先,我只给 docker-image-resource "build" 参数和 Dockerfile 所在的文件夹。但是那样我就无法访问其他资源,我最终使用了 'build' 和 'dockerfile' 参数。这样构建发生在放置步骤的根目录中,所有其他工件都可用。
我的管道:
- put: docker-image-resource
params:
build: .
dockerfile: ./path/to/Dockerfile
build_args:
CONFIG_DIR: ./other-resource/
我进一步使用构建参数将 Dockerfile 与管道构建分离。所以我可以在其他构建上下文(例如本地)中指定其他目录。
我正在尝试使用构建参数创建并推送包含我的应用程序依赖项的 docker 映像。在 concourse 文档中,它指出通过 get
获取的所有资源在放置步骤中都可用。我似乎无法访问我的 git 资源,但是为了从中提取 pom.xml 文件。当我尝试 运行 这份工作时,我得到一个错误 pom.xml 文件不存在。
管道作业
- name: get-dependencies
plan:
- get: git-repo
passed: [pull-repo]
trigger: true
- get: artifacts-container
- put: artifacts-container
params:
inputs: [git-repo]
build: git-repo/app/concourse/dockerfiles/artifacts
Docker 文件
# Set base image qualities
FROM localhost:5000/app-artifacts:0.0.3 AS build
Load application into image
COPY git-repo/app/pom.xml /
RUN mvn dependency:go-offline
不确定你的容器是做什么的,但你应该删除 - get: artifacts-container
语句并只保留 put
.
我遇到了类似的问题。我想构建一个 docker 图像并使用 COPY 命令将来自不同资源的文件夹放入该图像。
首先,我只给 docker-image-resource "build" 参数和 Dockerfile 所在的文件夹。但是那样我就无法访问其他资源,我最终使用了 'build' 和 'dockerfile' 参数。这样构建发生在放置步骤的根目录中,所有其他工件都可用。
我的管道:
- put: docker-image-resource
params:
build: .
dockerfile: ./path/to/Dockerfile
build_args:
CONFIG_DIR: ./other-resource/
我进一步使用构建参数将 Dockerfile 与管道构建分离。所以我可以在其他构建上下文(例如本地)中指定其他目录。