[英]Import groovy class in a pipeline Jenkinsfile
我需要能夠創建類並在Jenkins管道中使用它們。
假設我有一個非常簡單的groovy類,該類在groovy腳本中聲明,如下所示:
class MyClass {
@Override
public String toString() {
return "toto";
}
}
return MyClass();
此類位於文件夾中: Project\\Buildfiles\\Jenkins\\com\\external
然后在我的Jenkinsfile中,我將執行以下操作:
node('mynode') {
toto = load 'Project\Buildfiles\Jenkins\com\external\MyClass.groovy'
echo toto.toString()
}
這實際上有效
但是,這確實給我的IDE帶來了一定數量的問題,無法理解正在發生的事情。 另外,這使我無法在自定義類中使用多個構造函數。
以下是我一直試圖做的並且需要我幫助的內容。 在名為ExternalClasses.groovy
的文件中:
class Toto{
@Override
public String toString() {
return "toto";
}
}
class Tata{
@Override
public String toString() {
return "tata";
}
}
return this;
在JenkinsFile中:
node('mynode') {
external= load 'Project\Buildfiles\Jenkins\com\external\ExternalClasses.groovy'
toto = new Toto();
tata = new Tata();
}
失敗了,我嘗試了幾種方法,使用了程序包名稱,使用了Toto.new()語法,但是沒有一種有效。
有任何想法嗎 ?
編輯共享庫:
我實際上有一個共享庫,它由多個團隊使用,並且包含非常具體的數據,這些數據應該由團隊擁有,而不是由圖書館擁有。
我們需要能夠將不屬於它的東西放出圖書館。 這項工作的目的是減輕所說的非通用代碼庫。
您可以使用共享庫功能 。 將您的腳本上傳到Github / Bitbucket之類的VCS中,並使用Jenkins-Jobs執行它們。 它們適用於所有項目/職位。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.