2012-04-03 32 views
5

Khi sử dụng plugin Groovy Jenkins (không phải là Groovy Post Build Plugin, một thứ khác) như là Bước Đăng, tôi không thể giải quyết các lớp học trong gói hudson.model.Gói Jenkins trên Groovy Classpath?

Tôi có cần thêm Jenkins .war vào đường dẫn lớp hay các gói này đã có ở đó không?

Script:

import hudson.model.*; 
import hudson.util.*; 

AbstractBuild currentBuild = (AbstractBuild) Thread.currentThread().executable; 
def mavenVer = currentBuild.getMavenArtifacts().getModuleRecords()[0].mainArtifact.version; 
println mavenVer; 
ParametersAction newParamAction = new hudson.model.ParametersAction(new hudson.model.StringParameterValue(“MAVEN_VERSION”, mavenVer)); 
currentBuild.addAction(newParamAction); 

Output:

[Common] $ /home/tester/tools/Groovy_1.8.3/bin/groovy /home/tester/workspace/Common/hudson8369102960709507246.groovy 
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed: 
/home/tester/workspace/Common/hudson8369102960709507246.groovy: 8: unable to resolve class AbstractBuild 
@ line 8, column 15. 
    AbstractBuild currentBuild = (AbstractBuild) Thread.currentThread().executable; 
[...] 

Trả lời

6

Vâng, nếu đó là một Groovy Script bạn làm cần phải thêm các jenkins-core jar vào classpath của bạn, và jar stapler quá.

Nếu đó là Groovy System Script thì nó được chạy bên trong JVM của chủ, nghĩa là tất cả các lớp và phụ thuộc Jenkins đã có trên đường dẫn lớp.

+2

Có thực sự có thể chạy mã của bạn ở trên như là một 'Groovy Script' đơn giản khi thêm đúng jar vào classpath không? Từ tài liệu về trình cắm thêm Groovy, tôi có ấn tượng rằng mã sẽ không hoạt động vì nó nằm trong một cá thể JVM khác, do đó bạn sẽ không thể thêm một tham số trong JVM đã chạy. – Tonin

+1

@engineerbetter Tôi biết điều này là cũ, nhưng quan tâm để chia sẻ làm thế nào các lọ này được đặt trong classpath liên quan đến Jenkins và Groovy? Tôi chỉ đơn giản là đi trong cấu hình nâng cao của kịch bản Groovy của tôi, xác định classpath nơi các jars của tôi được lưu trữ? – TekiusFanatikus

Các vấn đề liên quan