Nir*_*man 6 environment-variables jenkins jenkins-plugins
我在Jenkins中使用"更改程序集版本"插件来更新我的ASP.NET MVC项目的所有AssemblyInfo.cs文件,以在构建过程中应用版本号.如果我将"汇编版本"值设置为硬编码值,则效果非常好.
但我的要求是不同的 - 我想在版本号中使用内部版本号.例如,"1.1.0.25",其中25是内部版本编号,由Jenkins自动生成.简而言之,版本应该像"1.1.0.<>"
我可以使用TFS环境变量在TFS构建过程中执行此操作,我是Jenkins的新手,并且不确定如何在Jenkins中实现此目的.以下是Jenkins的"Change Assembly Version"插件的屏幕截图,供您快速参考:
提前致谢
对于希望仅更新版本号的1个但保留其余现有版本号的其他人,您可以设置"更改程序集版本"插件,如下所示:
汇编版本: $ BUILD_NUMBER
FileName: <project folder> /Properties/AssemblyInfo.cs
RegexPattern: Assembly(\ w*)Version \("(\ d +).(\ d +).(\ d +).(\ d +)"\ )
ReplacementPattern:汇编$ 1Version("$ 2. $ 3.%s")
这将保留现有的前两个数字已包含在Assembly ??? Version设置中,并将第三个版本号设置为当前的Jenkins内部版本号.
AssemblyInfo.cs包含:
[assembly: AssemblyVersion("1.40.0.0")]
[assembly: AssemblyFileVersion("1.40.0.0")]
Run Code Online (Sandbox Code Playgroud)
如果Jenkins内部版本号为103,则在更改程序集版本插件使用上述设置之后,AssemblyInfo.cs将包含:
[assembly: AssemblyVersion("1.40.103.0")]
[assembly: AssemblyFileVersion("1.40.103.0")]
Run Code Online (Sandbox Code Playgroud)
注意
如果您正在使用subversion(可能还有其他源控制系统)并且正在使用" 尽可能使用SVN更新 "的" 签出策略",则必须将其更改为" 使用svn尽可能多地使用SVN更新 " 在更新之前还原 "以确保为下一次构建重置已修改的AssemblyInfo.cs文件.
小智 7
以前关于如何使用Jenkins的"更改程序集版本"插件的答案不起作用.在我的AssemblyInfo.cs文件中,我通常使用自动递增版本来设置它们以帮助本地开发工作.
AssemblyInfo.cs包含:
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.*")]
Run Code Online (Sandbox Code Playgroud)
在Jenkins构建之后,如果版本是10,那么AssemblyInfo.cs将包含:
[assembly: AssemblyVersion("1.0.10")]
[assembly: AssemblyFileVersion("1.0.10")]
Run Code Online (Sandbox Code Playgroud)
该插件用于实现上述目的:
Assembly Version: $BUILD_NUMBER
FileName:
RegexPattern: Assembly(\w*)Version\("(\d+).(\d+).(\*)"\)
ReplacementPattern: Assembly$1Version("$2.$3.%s")
Run Code Online (Sandbox Code Playgroud)
我在使用插件时遇到的另一个错误是文件权限不允许写访问.为了解决这个问题,找到AssemblyInfo.cs并禁用"只读".
希望能帮助任何人.
归档时间: |
|
查看次数: |
10185 次 |
最近记录: |