0

我正在尝试自动化 Jenkins 中的工作以构建和部署 Visual Studio 解决方案。我们已经可以让 Jenkins 来构建项目了。我创建了一个批处理文件,Jenkins 在部署 Squirrel 包的项目构建之后运行,但我已经参数化了批处理文件以及 Jenkins 作业,这意味着我每次运行作业时仍然手动输入版本号。我们需要的是从项目中提取版本号,以便它可以用作 Squirrel 批处理文件中的参数。

4

1 回答 1

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 &quot;D:\Squirrel\Nuspec Files\OurApplication.nuspec&quot; -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

于 2016-05-20T19:50:18.297 回答