I'm writing share libraries by following Extending with Shared Libraries
<https://jenkins.io/doc/book/pipeline/shared-libraries/>, and I have a
simple example working.
I now have created a script in the vars directory called debugger.groovy,
that has a class definition, like this
class MyDebugger {
def logError(String msg) {
log("ERROR", msg)
}
...
private def log(String msgType, String msg) {
String m = "$msgType: $msg"
}
}
MyDebugger getDebuggerObj() {
return (new MyDebugger)
}
Now I have a script in my src/com/company directory called Deployer.groovy,
and I want to use above MyDebugger like this because I want to use the same
MyDebugger object all throughout my script.
package com.company.deployment
class MyDeployer {
def dbgObj = debugger.getDebuggerObj()
}
def deploy() {
Deployer d = new MyDeployer()
}
When I run it in my Jenkins pipeline, like this
pipeline {
agent { label 'linux-devops' }
stages {
stage('build') {
steps {
script {
// This is the Library configured in Jenkins main configuratin
page
@Library('my-library')
def deployer = new com.zift.deployment.Deployer()
deployer.deploy()
}
}
}
}
But I get
infrastructure/src/com/zift/deployment/EcsClusterBuilder.groovy: 9: Apparent
variable 'debugger' was found in a static scope but doesn't refer to a local
variable, static field or class. Possible causes: You attempted to reference a
variable in the binding or an instance variable from a static context. You
misspelled a classname or statically imported field. Please check the spelling.
You attempted to use a method 'debugger' but left out brackets in a place not
allowed by the grammar.
What's a better approach? I still want to keep the degugger.groovy
structure, but am flexible on the Deployer.groovy script.
Thanks!
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/a2238ee5-12ff-4134-b62f-637ee6f72054%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.