【发布时间】:2021-09-05 21:32:47
【问题描述】:
我想将 Java 构建到管道工件中,然后将其放入 docker 文件中。 我想不出一种在一个管道中将工件添加到 dockerfile 的方法 我想要一个管道来构建 java 代码并用 jar 构建一个 docker 映像。
【问题讨论】:
标签: azure azure-devops dockerfile azure-pipelines
我想将 Java 构建到管道工件中,然后将其放入 docker 文件中。 我想不出一种在一个管道中将工件添加到 dockerfile 的方法 我想要一个管道来构建 java 代码并用 jar 构建一个 docker 映像。
【问题讨论】:
标签: azure azure-devops dockerfile azure-pipelines
Azure DevOps Pipeline - 使用工件构建 Docker
您可以将任务构建java代码的目标路径设置为$(Build.ArtifactStagingDirectory)。
然后,在发布任务之后添加一个 Docker 任务,配置为“构建”,并将任务中的“构建上下文”设置为$(Build.ArtifactStagingDirectory)。这是 Docker 将用于 Dockerfile 中的 COPY 等命令的根路径。
并设置任务中的 Dockerfile 路径以匹配其位置:
FROM mcr.microsoft.com/dotnet/core/aspnet:2.2
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "myAppNameHere.dll"]
由于您已将 Docker 构建上下文设置为 $(Build.ArtifactStagingDirectory),您的应用已发布到该位置,因此 COPY 命令会将其用作“当前工作目录”。 COPY 的翻译是“将$(Build.ArtifactStagingDirectory) 中的所有内容复制到容器内的/app 文件夹中。”
【讨论】: