azure-devops - 从Visual Studio Team Services部署时在目标目录中复制一个文件

标签 azure-devops tfsbuild azure-pipelines

我将VSTS用作构建服务器,并且在构建时我想将bin文件夹内容复制到目标的根目录,还将自定义文件从另一个文件夹复制到该目标。 MSDN建议我使用minimatch模式,但它使用子目录结构复制文件。我对恢复结构不感兴趣。

例如,我得到以下文件夹结构:

Project
    MyProjectFiles
    bin
        x86 (it's build configuration)
            Project.exe
    Other project files
    Project.sln
SomeScrips
    script1.ps1


但是我想收到以下文件夹结构:

Project.exe
SomeScripts
    script.ps1


我可以使用哪种最小匹配模式?

最佳答案

使用基于Web的新构建系统,您可以在一个步骤中使用多个模式。因此,您可以针对自己的情况执行以下操作:

Project\bin\x86\Release\project.exe
SomeScripts\**\*


或者,如果您在构建步骤中也使用了变量(例如BuildPlatform / BuildConfiguration)中的构建平台和配置,则可以在模式中使用它们:

Project\bin\$(BuildPlatform)\$(BuildConfiguration)\project.exe
SomeScripts\**\*


如果希望project.exe位于根目录而不是结构中,则需要先使用Copy Task将文件暂存于所需结构中。您可以使用$(Build.StagingDirectory)作为目标。然后,使用$(Build.StagingDirectory)作为副本根目录使用“发布”任务,并将所有内容从该根目录发布到下拉列表。

关于azure-devops - 从Visual Studio Team Services部署时在目标目录中复制一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34587282/

相关文章:

c# - 如何在 C# 的 exe 中使用或访问新创建的管道变量,以便我可以在 azure dev-ops 构建管道中的程序内分配值?

Azure staticwebapp 不允许在终端中使用 Azure CLI 添加值为 "&"的配置

Azure 管道 Docker 镜像 ACR URI 前缀不适用于单独的构建、自定义命令、推送任务

TFS 当前 Sprint URL

azure-devops - Azure Pipelines,从内部版本号中删除某些字符

service - 命令行重新启动 Visual Studio Team Foundation Server 2012 生成服务?

git - 构建代理的分支策略豁免不起作用

git - 在 Azure DevOps 中将构建服务 'user' 添加到 'Project Collection Build Services'

azure-devops - "Package or folder"在发布管道中的文件转换任务中指什么?

tfsbuild - 根据代码事件的返回值取消构建