如何将 Azure DevOps 构建工件复制到同一管道中的 Docker 图像构建?
How to copy an Azure DevOps build artifact to a Docker image build in the same pipeline?
从之前的 stage
下载工件后,在 Azure DevOps 管道中,如下所示:
- download: 'current'
artifact: my_artifact
我想在这个 Docker build task 的 Dockerfile
中重复使用它:
- task: Docker@2
displayName: Build
inputs:
command: build
containerRegistry: myConnection
repository: myRepository
像这样:
COPY *.whl /myDir/
在COPY
命令之后目标目录仍然是空的。工件中的文件在哪里以及如何将它们复制到 Dockerfile?
解决方案是将工件从下载位置 ($(Pipeline.Workspace)/my_artifact
) 复制到 build
命令 ($(Build.SourcesDirectory)
) 的 PATH
目录:
- bash: cp $(Pipeline.Workspace)/my_artifact/*.whl $(Build.SourcesDirectory)
或者使用 CopyFiles 命令:
- task: CopyFiles@2
inputs:
sourceFolder: '$(Pipeline.Workspace)/my_artifact'
contents: '*.whl'
targetFolder: $(Build.SourcesDirectory)
从之前的 stage
下载工件后,在 Azure DevOps 管道中,如下所示:
- download: 'current'
artifact: my_artifact
我想在这个 Docker build task 的 Dockerfile
中重复使用它:
- task: Docker@2
displayName: Build
inputs:
command: build
containerRegistry: myConnection
repository: myRepository
像这样:
COPY *.whl /myDir/
在COPY
命令之后目标目录仍然是空的。工件中的文件在哪里以及如何将它们复制到 Dockerfile?
解决方案是将工件从下载位置 ($(Pipeline.Workspace)/my_artifact
) 复制到 build
命令 ($(Build.SourcesDirectory)
) 的 PATH
目录:
- bash: cp $(Pipeline.Workspace)/my_artifact/*.whl $(Build.SourcesDirectory)
或者使用 CopyFiles 命令:
- task: CopyFiles@2
inputs:
sourceFolder: '$(Pipeline.Workspace)/my_artifact'
contents: '*.whl'
targetFolder: $(Build.SourcesDirectory)