[英]How to use jenkins version number plugin in pipeline
I am using version number jenkin plugin in Jenkins ver. 我在Jenkins ver中使用版本号jenkin插件。 2.107.2. 2.107.2。 below pipeline code is not working. 下面的管道代码不起作用。 any help to fix this issue? 对解决此问题有帮助吗?
pipeline code 流水线代码
pipeline {
agent any
stages {
stage('Pre-Build') {
steps {
sh 'echo Building Docker'
def tag = VersionNumber (versionNumberString: '${BUILD_DATE_FORMATTED, "yyyyMMdd"}-develop-${BUILDS_TODAY}')
}
}
}
}
Error: 错误:
Running in Durability level: MAX_SURVIVABILITY
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 8: Expected a step @ line 8, column 1.
def tag = VersionNumber (versionNumberString: '${BUILD_DATE_FORMATTED, "yyyyMMdd"}-develop-${BUILDS_TODAY}')
^
1 error
at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:131)
at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:125)
at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:560)
at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:521)
at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:325)
at hudson.model.ResourceController.execute(ResourceController.java:97)
at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE
this link How to use jenkins version number plugin in Jenkinsfile? 此链接如何在Jenkinsfile中使用jenkins版本号插件? has answer but not working for me. 有答案但不为我工作。
You are using the declarative Pipeline, which has some restrictions regarding the commands which can be run inside a stage. 您正在使用声明性管道,该管道对可以在阶段内运行的命令有一些限制。
Take a look at the syntax guide for declarative pipelines . 看一下声明性管道的语法指南 。
You can either use the scripted pipeline or declare the variable in an environment
block: 您可以使用脚本化管道,也可以在environment
块中声明变量:
environment {
tag = VersionNumber(versionNumberString: '${BUILD_DATE_FORMATTED,"yyyyMMdd"}-develop-${BUILDS_TODAY}');
}
and later use it as $tag
in your pipeline. 然后将其用作管道中的$tag
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.