当前位置: 首页 > 知识库问答 >
问题:

如何在VSTS构建过程中创建zip之前修改发布工件文件夹$(build.artifactstagingdirectory)?

佴波鸿
2023-03-14

我定义了VSTS构建过程直到发布工件的步骤。默认情况下,VSTS代理在发布工件位置(c:\vsts-agent_work\1\a)创建5个文件,包括重要的构建文件,即zip文件夹。当我检查zip文件夹时,我发现我的构建文件所在的路径很长。zip中的文件夹路径-

\内容\C_C\vsts-agent\_work\1\s\ABCProject\obj\Release\Package\PackTmp

我了解到zip文件的源是源目录,在查看_work文件夹 -

c:\ vsts-agent \ _ work \ 1 \ s \ ABC project \ obj \ Release \ Package \ Package tmp

我想要一个文件夹(RDLC报告文件夹)在C:\vsts-agent\_work\1\s\CCM2015MVC\obj\发布\包\包\包Tmp目录中。我设法使用复制文件任务创建该文件夹。我在发布工件步骤之前执行了此步骤。

问题是,当发布工件步骤完成时,我没有在zip文件中获得该文件夹。

以下是 VSTS 构建过程的快照-

以下是发布神器的位置-

请让我知道如何在zip中添加该文件夹?我还想知道VSTS build考虑将其作为zip文件夹的源路径?

共有1个答案

贺桐
2023-03-14

文件夹 (c:\vsts-agent_work\1\a) 中的内容是在“可视化工作室生成”任务步骤中创建的。因此,即使您设法在 C 中创建 RDLC 报告文件夹:\vsts-agent\_work\1\s\CCM2015MVC\obj\发布\包\包使用复制文件任务。它不会被复制并再次压缩到 c:\vsts-agent_work\1\a

有一种解决方法可以实现这一点。如果您想将文件夹结构保留在zip文件中,您可以按照以下步骤操作:

3、添加存档文件任务,将文件存档到创建文件夹RDLCReports的文件夹$(Agent.BuildDirectory)/Temp中。

确保取消选中“将根文件夹名称前置到存档路径”选项,并选中“替换现有存档”

(对于上面的例子。我的测试项目名为AboutSite,压缩文件为AboutSite.zip,文件夹结构为< code > Content \ C _ C \ agent \ _ work \ 1 \ s \ about site \ about site \ obj \ Release \ netcoreapp2.0 \ pub tmp \ Out 。您需要根据您的项目对路径和文件名做一点修改。)

对于您的项目,您可能会发现< code > C:\ vsts-agent \ _ work \ 1 \ s \ ABC project \ obj \ Release \ Package \ Package tmp 中的内容与您的zip文件相同。所以还有一个变通方法就是添加复制文件任务,目标路径< code > C:\ vsts-agent \ _ work \ 1 \ s \ ABC project \ obj \ Release \ Package \ Package tmp 。然后添加存档文件任务来存档该文件夹。但是,这种解决方法不能保持原始文件结构。

 类似资料:
  • 我有一个followgradle任务,它负责包装。它在其中生成一个zip文件。但是,作为最终发行版的一部分,我正在尝试在zip文件中创建一个空文件夹调用日志。 上面的代码不起作用,我已经试过了 然后复制 问题是,如果我运行gradleclean包,它会清除导致日志文件夹未创建的构建文件夹。有没有人能解决在我们试图创建的zip发行版中创建空文件夹的问题?

  • 我试图在ZIP文件内创建一个ZIP文件,以重新构建以前在内存中的zip结构,我在Java。 我失败了,因为我得到了一个错误的内部ZIP内创建的初始ZIP文件。文件已损坏。当试图打开它时,我得到一个“文件的意外结局”。 我得到了这个结构: -input.zip--InnerInput.zip 代码使用java Stack和Map在内存中解压。然后它创建input2.zip,内部nput.zip。 总

  • 问题内容: 与此jar命令等效的Java是什么: 我想以编程方式创建此jar文件,因为我不确定命令是否位于我可以运行外部进程的系统路径上。 编辑 :我只想存档(和压缩)目录。不必遵循任何Java标准。即:标准拉链就可以了。 问题答案: // These are the files to include in the ZIP file String[] source = new String[]{“

  • 问题内容: java.library.path属性似乎是只读的。例如,当您在以下构建文件上运行ant时 你得到 输出表明 java.library.path 尚未更改,但是 some.other.property 设置正确。 我想知道如何在构建文件中修改java.library.path。实际上,在ant命令行上指定java.library.path并不是一个简单的选择,因为那时还不知道库路径位置

  • 我正在尝试用gradle创建一个dist-zip。我想在zip的根目录中找到我的jar。并在lib文件夹中查找所有依赖项。我没有成功。 无论我尝试了什么,只有一个文件夹正在创建(我尝试创建一些文件夹)。我的神器罐子包含在这个文件夹中。 我将感谢任何帮助。 这是我的任务定义:

  • 问题内容: 如何在Java中创建一个空文件夹? 问题答案: