我已经能够使用NuGetter创建一个构建定义来自动化NuGet包创建过程并将包上传到NuGet存储库。
但是,我想进一步自动化这个过程。以下是我希望在构建过程中自动执行的步骤列表:
我真正希望能够自动化的nuspec字段是:
作者 我希望构建过程将nuspec文件中的此字段替换为签入代码的人员的姓名。
阅读发布 我希望构建过程使用签入注释替换nuspec文件中的此字段。
有没有人能够做到这一点?如果是这样,你是如何实现自动化的呢?
答案 0 :(得分:4)
这可能有所帮助。
我创建了一个自动化流程来发布开源项目的更新。
https://github.com/DefinitelyTyped/NugetAutomation
你可能感兴趣的一些事情。
它需要一些Powershell知识,但我希望它能为你提供一个开始。
答案 1 :(得分:0)
这篇帖子How to avoid xml document generation when using nuget pack有一些想法
<XmlUpdate Namespace="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd" XmlFileName="My.Assembly.nuspec" XPath="//package/metadata/licenseUrl" Value="http://someurl" />
<XmlUpdate Namespace="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd" XmlFileName="My.Assembly.nuspec" XPath="//package/metadata/projectUrl" Value="http://someurl" />
<XmlUpdate Namespace="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd" XmlFileName="My.Assembly.nuspec" XPath="//package/metadata/iconUrl" Value="http://somenice.png" />
<XmlUpdate Namespace="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd" XmlFileName="My.Assembly.nuspec" XPath="//package/metadata/tags" Value="My.Assembly" />
<XmlUpdate Namespace="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd" XmlFileName="My.Assembly.nuspec" XPath="//package/metadata/releaseNotes" Value="Review readme.txt for details." />
答案 2 :(得分:0)
您可以添加一个新的帖子构建事件,该事件触发一个脚本,该脚本将从&#34; packages.config&#34;中获取该版本。将文件写回nuspec文件。
C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe -ExecutionPolicy Unrestricted -Command .'$(ProjectDir)..\PathToScirptLocation\NuspecAutoUpdate.ps1' -NuspecPath '$(ProjectDir)API.nuspec' -PackagesConfigPath '$(ProjectDir)packages.config'
我将脚本和post build事件上传到我的GIT,供任何需要它的人使用。