我正在尝试自动化Jenkins的工作来构建和部署visual studio解决方案。我们已经可以让Jenkins建立这个项目了。我已经创建了一个批处理文件,Jenkins在部署Squirrel包的项目构建之后运行,但我已经参数化了批处理文件以及Jenkins作业,这意味着每次运行作业时我仍然手动输入版本号。我们需要的是从项目中提取版本号,以便它可以用作Squirrel批处理文件中的参数。
答案 0 :(得分:0)
出于我的目的,我将Squirrel逻辑移动到" AfterBuild"中的.csproj文件。事件。现在,每次执行Release版本时,都会构建一个包并且"重新启动"以及可访问的版本号。
<Target Name="AfterBuild" Condition=" '$(Configuration)' == 'Release'">
<GetAssemblyIdentity AssemblyFiles="$(TargetPath)">
<Output TaskParameter="Assemblies" ItemName="myAssemblyInfo"/>
</GetAssemblyIdentity>
<Exec Command="D:\Squirrel\nuget pack "D:\Squirrel\Nuspec Files\OurApplication.nuspec" -Version %(myAssemblyInfo.Version)" />
<Exec Command="D:\Squirrel\Squirrel.Windows-1.4.0\squirrel --releasify D:\Jenkins\default\Projects\OurApplication\Windows\OurApplication.%(myAssemblyInfo.Version).nupkg -r D:\Squirrel\Releases\OurApplication" />
</Target>
请参阅https://github.com/Squirrel/Squirrel.Windows/blob/master/docs/using/visual-studio-packaging.md