首页 > 解决方案 > 如何将文件从 github 复制到 Azure Devops CI 管道中在 VSTS 代理上运行的容器

问题描述

我正在构建一个 Windows 容器,并希望将一些文件从 github 复制到我在 VSTS 代理(azure devops)内部构建的容器中。

我从管道中的内置任务列表中创建了一个复制任务,但不确定它将如何工作。

YAML 是:

steps:
- task: CopyFiles@2
  displayName: 'Copy Files'
  inputs:
    SourceFolder: ..
    Contents: |
     default.aspx
     web.config
    TargetFolder: '$(build.artifactstagingdirectory)'

我只需要将 default.aspx 和 web.config 从 github 复制到我的 VSTS 代理内的容器中。目标路径是容器内的 c:\inetpub\wwwroot。

或者我可以在我的 dockerfile 中使用一些复制步骤来代替这个吗?

我的 docker 文件很简单:

FROM mcr.microsoft.com/windows/servercore/iis

SHELL ["powershell"]

RUN Install-WindowsFeature NET-Framework-45-ASPNET ; \
    Install-WindowsFeature Web-Asp-Net45
    
EXPOSE 80

标签: azureazure-devopsazure-pipelines

解决方案


假设你有这个文件夹结构:

root-folder:
  DOCKERFILE
  content:
    default.aspx
    web.config

根据文档,您应该很好地添加这些行:

WORKDIR /inetpub/wwwroot

COPY content/ .

放在一起:

FROM mcr.microsoft.com/windows/servercore/iis

SHELL ["powershell"]

RUN Install-WindowsFeature NET-Framework-45-ASPNET ; \
    Install-WindowsFeature Web-Asp-Net45
    
WORKDIR /inetpub/wwwroot
COPY content/ .

EXPOSE 80

但我的假设是上面的文件夹结构。如果你有不同的,你应该复制你的文件使用CopyFiles@2任务。


推荐阅读