运维开发网

在Jenkinsfile中创建时间戳

运维开发网 https://www.qedev.com 2020-05-10 14:31 出处:网络 作者:运维开发网整理
我正在努力创建一个格式的时间戳,我希望在Jenkins中使用脚本管道.这是管道中的代码: def cal = Calendar.instance def dateFormat = 'YYYYMMDD-hhmmss' def timeZone = TimeZone.getTimeZone('CST') def timeStamp = cal.time​.format(dateFormat,timeZ
我正在努力创建一个格式的时间戳,我希望在Jenkins中使用脚本管道.这是管道中的代码:

def cal = Calendar.instance
def dateFormat = 'YYYYMMDD-hhmmss'
def timeZone = TimeZone.getTimeZone('CST')
def timeStamp = cal.time​.format(dateFormat,timeZone)​
println "Timestamp is: ${timeStamp}"
env.BUILD_TIMESTAMP = timeStamp

当我通过Jenkins运行时,我得到以下内容:

org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException: unclassified field java.util.GregorianCalendar time​
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.unclassifiedField(SandboxInterceptor.java:387)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:371)

我已经看到在线提到不同领域的类似问题,但是将其添加到scriptapproval.xml(并重新启动Jenkins)的解决方法似乎并没有起作用.

任何人都有一种生成时间戳的方法,其格式与我正在尝试的格式类似?

我找到了解决方法.我直接访问了现场时间.如果我将调用从cal.time更改为cal.getTime(),Jenkins表现得更好.我将它整合成一个单行,但功能相同:

def timeStamp = Calendar.getInstance().getTime().format('YYYYMMdd-hhmmss',TimeZone.getTimeZone('CST'))

感谢那些看过的人.

0

精彩评论

暂无评论...
验证码 换一张
取 消