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 jenkinsci-users+unsubscr...@googlegroups.com.
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.

Reply via email to