在 Jenkins 中归档文件时如何保持文件夹结构?

How to keep folder structure when archiving files in Jenkins?

Jenkins 版本 运行 是 2.249.1。我是詹金斯的新手,所以我可能在这里遗漏了一些非常明显的东西。我发现了一些相关的堆栈溢出问题,但没有具体回答这个问题。我发现这个 很有帮助,但仍然没有回答所问的问题。

这一切都是通过 Jenkins GUI 完成的。我添加了一个 post 构建操作来归档文件。这是我看到的屏幕

我正在尝试归档所有文件,同时保持其文件夹结构。我可以添加所有文件,同时使用此模式丢失其文件夹结构:**/*.*

使用单个 * 仅抓取最外层的 README.md 并忽略工作目录下的所有文件夹。我意识到我可以专门列出每个目录来完成此操作,但似乎应该有一种简单的方法来获取所有内容并保持文件夹结构。

谢谢!

根据 'Files to archive [ ]' 帮助图标 (?) ,

You can use wildcards like 'module/dist/**/*.zip'.See the includes attribute of Ant fileset for the exact format.

建议仔细阅读ant fileset文档。

Files to archive [ **/** ]

将复制整个目录结构和文件夹。 **/ 匹配所有目录,/** 匹配所有内容。如果内容是目录,则按目录处理,如果是文件,则复制。

类似myrootdir/**/matchingdir*/**的东西可以产生:

myrootdir/user/matchingdirWeb/logging-log4j2-web.xml
myrootdir/user/matchingdirWeb/logging-web.xml
myrootdir/user/matchingdirWS/logging-log4j2-service.xml
myrootdir/user/matchingdirWS/logging-service.xml
myrootdir/Web/matchingdirWeb/logging-log4j2-web.xml
myrootdir/Web/matchingdirWeb/logging-web.xml
myrootdir/WS/matchingdirWS/logging-log4j2-service
myrootdir/WS/matchingdirWS/logging-log4j2-service.xml
myrootdir/WS/matchingdirWS/logging-service.xml

您必须实际单击 “构建工件”(打开框) 按钮以导航到 "<build>/artifact" 以查看树。构建主页面可能不会显示文件的完整路径。

如果您不想增加磁盘消耗,您还应该设置智能保留策略[ X ] Discard old builds。有关详细信息,请参阅 this answer