在TeamCity中,有没有一种简单的方法来获取格式为MMdd的当前日期的变量(例如,0811表示8-8月)?
我的google-fu没有找到现有的插件。我考虑过编写一个插件,但没有安装jdk,这看起来很耗时。
发布于 2019-12-13 23:14:17
这是一个老问题,但对于那些正在寻找解决方案的人来说,现在有一个可用的系统参数。
system.buildStartTime
您需要在config中声明它(直到运行时才可用)才能运行。我将我的设置为[Filled Automatically]
正如您可以猜到的那样,此时间设置为构建开始时间,因此对于某些需要来说,这可能并不理想。但它很简单,也很可靠。
发布于 2013-09-16 18:28:33
使用以下源代码,使用PowerShell构建步骤(不需要插件)可以很容易地做到这一点:
echo "##teamcity[setParameter name='env.BUILD_START_TIME' value='$([DateTime]::Now)']"
或(对于UTC):
echo "##teamcity[setParameter name='env.BUILD_START_TIME' value='$([DateTime]::UtcNow)']"
这使用了TeamCity的Service Message特性,该特性允许您在运行时与构建引擎交互,例如设置构建参数。
然后,您可以使用语法%env.BUILD_START_TIME%
从TeamCity中的其他位置引用此构建参数
这种方法的优点是你不需要使用插件。缺点是您需要引入一个构建步骤。
发布于 2014-04-28 22:32:57
对于基于Unix的构建代理,我建议将下一个自定义脚本作为构建命令之一:
export current_build_date_format="+%%Y.%%m.%%d"
export current_build_date="$(date $current_build_date_format)"
echo "##teamcity[setParameter name='env.current_build_date' value='$current_build_date']"
您必须使用双%符号,以避免将可执行命令行参数FORMAT字符串(请参阅%Y.%m.%d)解释为已存在的TeamCity变量。
https://stackoverflow.com/questions/7019954
复制相似问题