我正在寻找一种解决方案,以便在CI服务器(特别是Atlassian Bamboo)上每次构建后自动递增包版本(不要与程序集版本混淆)。每个appx包都有一个在其清单文件(appxmanifest)中定义的版本。因此,为了增加版本,必须在提交之前编辑清单。我正在考虑采用不同的方法来执行此操作第一个在清单中进行更改并将其推回回购。每次构建后自动递增appx包版本
- 开始构建计划(以便锁定一版本号),使得修改被设置为当前的版本号
- 将更改应用于SCM(尤其Atlassian的藏匿)
- :修改清单。这一步不应该触发下一个构建。
- 继续构建软件包(调用的MSBuild,UT等任务)
缺点
- 信息不正确的工作流程上竹:结算 - >按 - >打造
- 每个构建作出新的承诺
另一种方法是设置邮政接收Stash挂钩这将改变fy appxmanifest。
缺点很难保持与Bamboo同步的内部版本号。
是否有任何其他(更清洁和正确)的方式来实现这一目标?
谢谢你的帮助。我设法通过使用带占位符的清单模板来解决问题。 [MSBuild Community Tasks](https://github.com/loresoft/msbuildtasks)项目中的TemplateFile任务然后在构建过程中从环境变量中获取值并生成appxmanifest。 – IUnknown 2014-10-21 06:44:57