【问题标题】:Octopack: Additional files copied in a pre-build eventOctopack:在预构建事件中复制的其他文件
【发布时间】:2013-10-01 11:29:09
【问题描述】:

我正在尝试让 Octopack 包含一些不属于我的 Visual Studio 项目的其他 dll。

有没有办法让 Octopack 使用我的 csproj 文件(正常),然后只指定我需要的其他文件,而不是使用 nuspec 中的部分。 (因为那时我必须在我的 nuspec 中维护所有项目文件的列表)

我目前正在预构建事件中将一些共享库复制到文件夹“/providers”。有没有办法对此进行扩展以将它们复制到 Octopack 将看到并打包它们的地方?

【问题讨论】:

    标签: octopus-deploy


    【解决方案1】:

    您不需要在 nuspec 文件中维护所有项目文件的列表,您可以这样做:

    <files>
        <file src="MyProject.Website\**\*.*" target="" />
    </files>
    

    这将抓取您项目中的所有内容(所有文件和子目录)。如果这对您来说太多了,您可以利用排除规则:

    <files>
        <file src="MyProject.Website\**\*.*" target="" exclude="MyProject.Website\docs\admin.txt" />
    </files>
    

    希望对您有所帮助。

    【讨论】:

    • 谢谢汤姆,这正是我最终所做的。
    【解决方案2】:

    通过 nuspec 获取项目目录中所有内容的答案的缺点是这可能包含您不想要的文件(请参阅答案的后续排除示例)。

    执行此操作的更好方法是确保在您的项目中将文件定义为“复制到 bin”或“复制为内容”,然后使用附加的命令行参数 @ 通过 msbuild w/Octopack 构建987654323@ 告诉 OctoPack 将 csproj 和 nuspec 组合起来,因此您不必使用通配符调用所有可能的路径,您只能在 nuspec 中包含未从常规构建过程中提取的文件。从 OctoPack 的 2.1.3 版本开始支持此功能。

    您也可以通过指定您的 csproj 文件来使用常规 Nuget.exe 和 MSBuild,如果存在具有特定路径的 nuspec,则应将它们连接在一起。

    查看这些参考链接以获得更好的示例。

    https://getadigital.com/no/blogg/setting-up-your-project-and-teamcity-octopack-for-front-end-builds/

    https://octopus.com/docs/packaging-applications/nuget-packages/using-octopack/octopack-to-include-buildevent-files

    【讨论】:

      猜你喜欢
      • 2012-09-16
      • 2012-08-17
      • 2016-03-23
      • 1970-01-01
      • 1970-01-01
      • 2018-07-24
      • 1970-01-01
      • 2023-03-10
      • 2019-04-18
      相关资源
      最近更新 更多