我正在开展一项任务,为我的应用程序动态构建一个“关于”(静态HTML)页面,并希望使用TeamCity项目的内部版本号进行设置。我们希望为每个部署生成和部署不同的版本。这导致我想要将值存储到我的构建中使用的变量。
所以我看到的挑战是:
如何在Maven构建期间动态地为变量分配值 阶段,然后有可用于构建的其他部分 (例如生成文件)。
我正在尝试做的背景如下(突出显示当前变量问题):
然而,似乎大多数链接指的是从属性文件中获取值,而不是在构建执行期间动态设置它们。
最后 - 我想我会用Ant-Run插件做一些这个
答案 0 :(得分:1)
如果在已处理资源中使用${buildNumber}
,maven将自动从团队城市中获取内部版本号,并使用适当的值替换该变量(不使用REST或任何其他复杂技术)。显然,这不会发生在本地版本中,但我的团队没有问题。使用构建配置文件很容易解决这个问题,当构建位于本地环境而不是团队城市时,构建配置文件会为变量分配一些值。
我们还使用%build.vcs.number%
作为内部版本号格式,以强制团队城市使用svn内部版本号,而不是使用自己的任意内部版本号。