仅包含在生成的构件中的一组文件夹

问题描述 投票:1回答:2

我有一个桌面应用程序,其结构是这样的:

enter image description here

默认的模板创建一个像这样的Copy Files任务:

enter image description here

问题是,公布的神器包括所有文件夹中生成的所有二进制文件。我不希望出现这种情况。我只想包括里面2个文件夹中的 - Deployer.Lumia.Console - Deployer.Lumia.Gui

这些都是我的解决方案内的两个工具(它们生成.exe文件)

我曾尝试创建2个不同的任务是这样的:

enter image description here

不过,我不断收到此错误:

enter image description here

来源是从GitHub从这个项目中得到https://github.com/WoA-project/WOA-Deployer

每一个项目是\源文件夹内。所以我不知道为什么它说,它无法找到。

我做错了,如何解决?

azure-devops azure-pipelines
2个回答
1
投票

你得到的错误有关../Deployer.Lumia.Gui/bin/**因为源文件夹参数不支持通配符。

用你的通配符minimatch模式来过滤Contents编辑框中输入所需的文件和文件夹。

获取内容到舞台

为了得到只有这两个文件夹的内容为建立一个单一的副本任务中的神器临时目录下的一个目录,如图... enter image description here

保持内容分离阶段

如果..Gui和..Console目录的内容需要在舞台DIR保持分离,那么你的两个独立的副本任务中使用的是简单和直接的路要走。 enter image description here enter image description here

编辑2.0

Here is an example of one of our package builds

我们在复制阶段目录的.dll文件到/库的位置。注意在捕获目录结构**\bin\*.dll内容通配符。 enter image description here

然后,我们所发布的目录作为自己的神器。 enter image description here

此发布任务创建一个看起来像这样的神器... enter image description here

但是,此版本还出版包作为一个单独的神器。 enter image description here enter image description here


0
投票

我觉得你的脚本应该是:

$(system.defaultworkingdirectory)/**/Deployer.Lumia.Gui/bin/*

应该缩小它,否则,你可以使用自定义脚本任务的东西,如ls -Rd发现目录结构和调整你的路径。

© www.soinside.com 2019 - 2024. All rights reserved.