Using OctoPack 提到

我已经在设置了 /p:RunOctoPack=true 标志的情况下运行了 msbuild,并希望在项目目录中看到 .nuspec 文件,但它不在项目目录或/bin 下的输出目录中。
.nu​​spec 是在什么时候生成的?如果未提供覆盖 .nuspec,它是生成和保存的还是动态生成的?

最佳答案

通常最好在安装 OctoPack 的项目的根目录中创建 NuSpec 文件。要从命令行创建 NuSpec 文件,只需使用 nuget.exe:

C:\temp\nuget.exe spec c:\path-to-project\solution\project\myproj.csproj

这将在文件夹中创建一个 myproj.csproj.nuspec 文件。您可以随意编辑模板。确保在 Visual Studio 中添加 NuSpec,以便在 TFS(或您使用的任何 CI)进行构建时,NuSpec 被复制,并且当 OctoPack 被触发时,NuSpec 已经存在。

也就是说,如果 OctoPack 没有找到它,它会动态生成一个 NuSpec。您可以在 GitHub 上查看源代码(第 234 行定义了 GetOrCreateNuSpecFile() 方法):

https://github.com/OctopusDeploy/OctoPack/blob/4b55bf0baa4d96cb7c2093cb234babc19a7d66f4/source/OctoPack.Tasks/CreateOctoPackPackage.cs#L234

就像我之前说的,最好在您的解决方案/项目中创建 NuSpec 文件。对于不是 Visual Studio 中的 Web 应用程序的项目,需要做一些工作来优化不同项目(服务、数据库脚本、MSI、SSRS 等)的包。

关于octopus-deploy - OctoPack 何时创建 nuspec 文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29919853/

10-09 15:49