如何将文件从github复制到Azure Devops CI管道中VSTS代理上运行的容器

时间:2020-09-01 13:43:56

标签: azure azure-devops azure-pipelines

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

我从管道中的内置任务列表中创建了一个复制任务,但不确定其工作方式。

YAML是:

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

我只需要将github上的default.aspx和web.config复制到我的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

1 个答案:

答案 0 :(得分:0)

假设您具有以下文件夹结构:

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

根据documentation,您应该添加以下行:

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任务复制文件。