【问题标题】:Set assembly version to Jenkins build number将程序集版本设置为 Jenkins 内部版本号
【发布时间】:2017-09-15 14:41:25
【问题描述】:

我刚刚使用声明式管道方法与 Jenkins 一起设置了 C.I。它现在工作正常,但我想将程序集修订号设置为 Jenkins 使用的内部版本号。

我看到有一个名为 change-assembly-version-plugin 的插件,但它似乎是旧的做事方式,我不确定如何在 Jenkinsfile 中使用它。

任何关于我如何实现这一点的指针将不胜感激。

【问题讨论】:

标签: .net jenkins jenkins-pipeline


【解决方案1】:

这是一个与 Pipelines 不兼容的旧插件(请参阅 Pipeline Compatible Plugins)。

作为替代方案,使用带有命令行实用程序(例如 SED)的“bat”(批处理)块或“powershell”块脚本来操作您的 AssemblyInfo.cs 文件。

如果您将 AssemblyFileVersion 和 AssemblyVersion 属性移动到单独的“CustomVersion.cs”文件中,然后只需从管道“bat”块中重写它,操作将变得更容易。比如:

bat """
    @echo off
    echo using System.Reflection; >CustomVersion.cs
    echo using System.Resources; >>CustomVersion.cs
    echo [assembly: AssemblyVersion("1.2.%BUILD_NUMBER%.0")] >>CustomVersion.cs
    echo [assembly: AssemblyFileVersion("1.2.%BUILD_NUMBER%.0")] >>CustomVersion.cs
"""

上面的代码应该适用于脚本化管道,不确定声明性管道。

【讨论】: