My apologies,
  I wasn't trying to be vague. I thought it would be easier if I set my 
goal to be running any of the sample scripts listed on the groovy sample 
script page. I am actually able to run groovy code on the slave. I'm 
actually trying to use the scriptlet plugin so that I can store the groovy 
script on the master and have it copy to the slave and execute at run time. 
>From what I'm reading that's one of the benefits of using the scriptlet 
plug-in apparently: storage of the groovy scripts on the master, without 
the need to copy it to the slave at execution time.

To your point, I haven't really been that clear.

I have a scriptler script saved on the master called "test". It contains 
this one line:

    println System.getenv("PATH")
When I run this from the Scriptler console interface against the master it 
works fine and prints the contents of the PATH environment variable.

However, when I attempt to run it against a slave I get the same error I 
reported in my last post.

I also get the same error when I "execute a scriptlet" as a build step and 
execute it on a slave. Again, works fine if I point it to the master.

I've even tried replacing my one line of code with :

prinln "hello world"

and get the same error! If I can't do a simple print statement I must be 
doing something very basic incorrectly with my environment.

I'm guessing my issue with executing groovy on the slave is specific to the 
scriplter plugin. I think this because I'm able to execute groovy on the 
slave if I specify a groovy script as a build step...the only caveat there 
is that the only groovy I can execute is basic groovy...I'm not able to 
reference any of the jenkins api's when executing on the slave.

Does that help describe what I'm doing a little better?




Take for instance

On Friday, August 17, 2012 5:27:09 PM UTC-4, sti wrote:
>
> You're not being too forthcoming with what you want to accomplish, so this 
> may not help you much: 
>
> Like it says in the System Groovy Script build step, system Groovy script 
> always executes on the master. The "system Groovy" actually executes inside 
> of Jenkins, in the same vm, so system Groovy can do many of the same things 
> as a plugin can. 
>
> If you want to run a Groovy script on the slave, you need to use the 
> "Execute Groovy Script" build step and then, if the job is set to execute 
> on a slave, Jenkins will really spawn the Groovy process in the slave. 
>
> -- Sami 
>
> Damon G <[email protected] <javascript:>> kirjoitti 16.8.2012 kello 
> 15.22: 
>
> > Hi There, 
> >    I've been playing with the groovy plugin and I'm able to run a few 
> sample groovy scripts on the master using the system groovy script option 
> in the job. However I can't seem to get the same code to execute on the 
> slave by executing a groovy script or by using the scriptler plugin. Even a 
> simple "println" statement doesn't work. For instance: 
> > 
> > import hudson.model.* 
> > prinln("hello!!!") 
> > 
> > results in: 
> > 
> > Execution of script [test.groovy] failed - Unable to serialize 
> org.jenkinsci.plugins.scriptler.util.GroovyScript@75f0ab39Build step 
> 'Scriptler script' marked build as failure 
> > 
> > I get the same thing if I just do prinln("hello!!!") and leave out the 
> import statement. 
> > 
> > I have groovy installed on the slave but I must be missing something. 
> When I execute on the slave do I need something additional in my classpath? 
> I didn't seem to need anything explicit in my classspath to run this as a 
> system groovy script on the master. 
> > 
> > Does anyone have simple example config to share? I think I must be 
> missing something fairly basic here. 
> > 
> > Thanks! 
> > 
> > 
> > 
>
>

Reply via email to