加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

变量 – 如何打印groovy变量?

发布时间:2020-12-14 16:31:36 所属栏目:大数据 来源:网络整理
导读:我在Jenkins管道中有以下代码: stage ('Question') { try { timeout(time: 1,unit: 'MINUTES') { userInput = input message: 'Choose server to publish to:',ok: '',parameters: [ [$class: 'hudson.model.ChoiceParameterDefinition',choices: 'pc-ensur
我在Jenkins管道中有以下代码:

stage ('Question') {
    try {
        timeout(time: 1,unit: 'MINUTES') {
            userInput = input message: 'Choose server to publish to:',ok: '',parameters: [
                [$class: 'hudson.model.ChoiceParameterDefinition',choices: 'pc-ensureintnother-server',description: 'Choose server to publish to:',name: 'server']
        ] 
      }
    } catch (err) {
        userInput = [server: 'pc-ensureint'] // if an error is caught set this value
    }
}

node () {
    println ${server}
}

我正在尝试解决“ChoiceParameterDefinition”中设置的“server”变量的问题.

当我运行构建时,我收到以下错误:

java.lang.NoSuchMethodError: No such DSL method '$' found among steps [AddInteractivePromotion,ArtifactoryGradleBuild,ArtifactoryMavenBuild,ConanAddRemote,ConanAddUser,InitConanClient,MavenDescriptorStep,RunConanCommand,ansiblePlaybook,archive,artifactoryDownload,artifactoryPromoteBuild,artifactoryUpload,bat,build,catchError,checkout,collectEnv,deleteDir,dir,dockerFingerprintFrom,dockerFingerprintRun,dockerPullStep,dockerPushStep,echo,emailext,emailextrecipients,envVarsForTool,error,fileExists,getArtifactoryServer,getContext,getDatabaseConnection,git,input,isUnix,library,libraryResource,load,mail,milestone,newArtifactoryServer,newBuildInfo,newGradleBuild,newMavenBuild,node,parallel,properties,publishBuildInfo,pwd,readFile,readTrusted,resolveScm,retry,script,sh,sleep,sql,stage,stash,step,svn,timeout,timestamps,tool,unarchive,unstash,validateDeclarativePipeline,waitForQualityGate,waitUntil,withContext,withCredentials,withDockerContainer,withDockerRegistry,withDockerServer,withEnv,wrap,writeFile,ws,xrayScanBuild] or symbols [all,allOf,always,ant,antFromApache,antOutcome,antTarget,any,anyOf,apiToken,architecture,archiveArtifacts,artifactManager,batchFile,booleanParam,branch,buildButton,buildDiscarder,caseInsensitive,caseSensitive,choice,choiceParam,cleanWs,clock,cloud,command,configFile,configFileProvider,cron,crumb,defaultView,demand,disableConcurrentBuilds,docker,dockerfile,downloadSettings,downstream,dumb,envVars,environment,expression,file,fileParam,filePath,fingerprint,frameOptions,freeStyle,freeStyleJob,github,githubPush,gradle,hyperlink,hyperlinkToModels,installSource,jdk,jdkInstaller,jgit,jgitapache,jnlp,jobName,junit,label,lastDuration,lastFailure,lastGrantedAuthorities,lastStable,lastSuccess,legacy,legacySCM,list,local,location,logRotator,loggedInUsersCanDoAnything,masterBuild,maven,maven3Mojos,mavenErrors,mavenMojos,mavenWarnings,modernSCM,msbuild,msbuildError,msbuildWarning,myView,nodeProperties,nonStoredPasswordParam,none,not,overrideIndexTriggers,paneStatus,parameters,password,pattern,pipeline-model,pipelineTriggers,plainText,plugin,pollSCM,projectNamingStrategy,proxy,queueItemAuthenticator,quietPeriod,remotingCLI,run,runParam,schedule,scmRetryCount,search,security,shell,skipDefaultCheckout,skipStagesAfterUnstable,slave,stackTrace,standard,status,string,stringParam,swapSpace,text,textParam,tmpSpace,toolLocation,unsecured,upstream,usernameColonPassword,usernamePassword,viewsTabBar,weather,withSonarQubeEnv,zfs,zip] or globals [Artifactory,currentBuild,env,params,pipeline,scm]
    at org.jenkinsci.plugins.workflow.cps.DSL.invokeMethod(DSL.java:149)
    at org.jenkinsci.plugins.workflow.cps.CpsScript.invokeMethod(CpsScript.java:108)
    at groovy.lang.GroovyObject$invokeMethod.call(Unknown Source)
    at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48)
    at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113)
    at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:151)
    at org.kohsuke.groovy.sandbox.GroovyInterceptor.onMethodCall(GroovyInterceptor.java:21)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onMethodCall(SandboxInterceptor.java:115)
    at org.kohsuke.groovy.sandbox.impl.Checker$1.call(Checker.java:149)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:146)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:123)
    at org.kohsuke.groovy.sandbox.impl.Checker.checkedCall(Checker.java:123)
    at com.cloudbees.groovy.cps.sandbox.SandboxInvoker.methodCall(SandboxInvoker.java:16)
    at WorkflowScript.run(WorkflowScript:16)
    at ___cps.transform___(Native Method)
    at com.cloudbees.groovy.cps.impl.ContinuationGroup.methodCall(ContinuationGroup.java:57)
    at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.dispatchOrArg(FunctionCallBlock.java:109)
    at com.cloudbees.groovy.cps.impl.FunctionCallBlock$ContinuationImpl.fixArg(FunctionCallBlock.java:82)
    at sun.reflect.GeneratedMethodAccessor637.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.cloudbees.groovy.cps.impl.ContinuationPtr$ContinuationImpl.receive(ContinuationPtr.java:72)
    at com.cloudbees.groovy.cps.impl.ClosureBlock.eval(ClosureBlock.java:46)
    at com.cloudbees.groovy.cps.Next.step(Next.java:74)
    at com.cloudbees.groovy.cps.Continuable.run0(Continuable.java:154)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.access$001(SandboxContinuable.java:18)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:33)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable$1.call(SandboxContinuable.java:30)
    at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.GroovySandbox.runInSandbox(GroovySandbox.java:108)
    at org.jenkinsci.plugins.workflow.cps.SandboxContinuable.run0(SandboxContinuable.java:30)
    at org.jenkinsci.plugins.workflow.cps.CpsThread.runNextChunk(CpsThread.java:165)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.run(CpsThreadGroup.java:330)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup.access$100(CpsThreadGroup.java:82)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:242)
    at org.jenkinsci.plugins.workflow.cps.CpsThreadGroup$2.call(CpsThreadGroup.java:230)
    at org.jenkinsci.plugins.workflow.cps.CpsVmExecutorService$2.call(CpsVmExecutorService.java:64)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at hudson.remoting.SingleLaneExecutorService$1.run(SingleLaneExecutorService.java:112)
    at jenkins.util.ContextResettingExecutorService$1.run(ContextResettingExecutorService.java:28)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Finished: FAILURE

据我所知,“server”是一个groovy变量,因此我应该能够使用${}访问它.

所以我试过了:

echo ${server}
print ${server}
println ${server}
println "${server}"

但无论我尝试什么,我都会遇到这个错误.

知道我做错了什么吗?

解决方法

以下代码对我有用:

echo userInput

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读