Geo*_*yev 17 tfsbuild azure-devops azure-pipelines
我正在使用VSTS作为构建服务器,并且在构建时我想将bin文件夹内容复制到目标的根目录,以及将另一个文件夹中的自定义文件复制到此目标.MSDN建议我使用minimatch模式,但它使用子目录结构复制文件.我对恢复结构不感兴趣.
例如,我得到这个文件夹结构:
Project
MyProjectFiles
bin
x86 (it's build configuration)
Project.exe
Other project files
Project.sln
SomeScrips
script1.ps1
Run Code Online (Sandbox Code Playgroud)
但我想收到这个文件夹结构:
Project.exe
SomeScripts
script.ps1
Run Code Online (Sandbox Code Playgroud)
我可以根据我的要求使用哪种迷你匹配模式?
Edd*_*SFT 26
如果只想复制没有文件夹结构的文件,则需要指定复制根目录.由于project.exe与script.ps1文件位于不同的路径,因此您需要将它们复制到不同的复制任务中.
请按照以下步骤操作:



现在你应该在drop文件夹中得到以下内容:
Project.exe
SomeScripts
script.ps1
Run Code Online (Sandbox Code Playgroud)
"复制文件"步骤的"高级"部分中的"拼合文件夹"选项.
如果您正在使用TFS Online(Visual Studio Online)并且不需要复制文件夹结构,请使用构建定义中"复制文件"步骤的"高级"部分中的"拼合文件夹"选项
借助新的基于 Web 的构建系统,您可以在一个步骤中使用多种模式。因此,您可以针对您的情况执行以下操作:
Project\bin\x86\Release\project.exe
SomeScripts\**\*
Run Code Online (Sandbox Code Playgroud)
或者,如果您在变量(例如BuildPlatform/ BuildConfiguration)中拥有构建平台和配置,并且您也在构建步骤中使用它们,则可以在模式中使用它们:
Project\bin\$(BuildPlatform)\$(BuildConfiguration)\project.exe
SomeScripts\**\*
Run Code Online (Sandbox Code Playgroud)
如果您希望project.exe位于根目录而不是结构中,则需要Copy Task首先使用 a 将文件暂存到所需的结构中。您可以将$(Build.StagingDirectory)其用作目标。然后使用发布任务作为$(Build.StagingDirectory)复制根并将所有内容从该根发布到 drop。
| 归档时间: |
|
| 查看次数: |
24388 次 |
| 最近记录: |