我想使用 hudson 的管道插件在内联管道脚本中获取当前时间戳。用于设置生成显示名称。
使用的内联groovy脚本:
def jobName = env.JOB_NAME + "_" + new Date()
currentBuild.displayName = "$jobName"
node {
echo "job name $jobName"
}
控制台上的错误:
org.jenkinsci.plugins.scriptsecurity.sandbox.RejectedAccessException:
Scripts not permitted to use new java.util.Date
根据您认为最直观的API,有很多方法可以节省时间:
> < li>
新日期()
已被添加到< code >脚本安全插件白名单中
RunWrapper
API通过使用电流构建
全局变量
final long startTime=currentBuild。startTimeInMillis
:long
build启动时的值(毫秒)long
build计划时的值(毫秒)最终长buildDuration=currentBuild。持续时间
:构建所用的毫秒最终字符串buildDurationAsStrong=currentBuild。durationString</code>:<code>duration</code>作为<code>字符串</code>
使用白名单的
java.time
API,例如LocalDateTime
import java.time.LocalDateTime
final LocalDateTime currentTime = LocalDateTime.now()
// do stuff with LocalDateTime
当然,在脚本中掏出并使用返回值
final String currentTime = sh(returnStdout: true, script: 'date +%Y-%m-%d').trim()
我相信还有其他方法。
只需格式化Date
对象:
stage('Foo') {
steps {
script {
def now = new Date()
println now.format("yyMMdd.HHmm", TimeZone.getTimeZone('UTC'))
}
}
}
你也可以使用这个,我需要这个在MS so:
echo "TimeStamp: ${currentBuild.startTimeInMillis}"
echo "TimeStamp: ${Util.getTimeSpanString(System.currentTimeMillis())}"
我正在尝试使用groovy构建脚本将构建管道迁移到“管道插件”。 我的管道通常是: 测试(梯度) 我想在我的jenkins构建脚本中使用像version/group等的gradle变量来发布到artiFactory中的正确文件夹中。这是artiFactory插件过去会为我处理的事情。如何实现? 对于单个gradle项目,我使用如下内容:
传递参数 链接管道 我们可以将多个管道连接在一起,以便在一个表达式中使用多个管道。
我正在使用位于git存储库中的Jenkins文件。我已经使用来自scm的管道脚本配置了新作业,该脚本指向我的JenkinsFile。我试图在我的Jenkins file pipeline脚本中使用git模块,以便从我的git repo中提取我的数据,而不需要配置prestatic变量,并且仅仅使用在我的作业中已经配置的scm pipeline脚本下的存储库URL变量。在我的Jenkins管道脚本中
即。在货币管道上完成一些额外的格式化。为此,我想在自定义管道的组件代码中使用现有管道。
问题内容: 我正在尝试使用groovy构建脚本将构建管道迁移到“ Pipeline插件”。 我的管道通常是: 测试(等级) IntegrationTest(等级) 构建(渐变) 发布(人工工厂) 我想在我的jenkins构建脚本中使用gradle变量,例如version / group等,以发布到工件中的正确文件夹。过去,人工插件会为我解决。如何做到这一点? 对于单个gradle项目,我使用如下代
问题内容: 我想在脚本化管道中使用选项。 可能吗 ? 问题答案: 您可以从这里尝试答案