簡體   English   中英

在管道Jenkinsfile中導入groovy類

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM