4
我想通過jenkinsfiles使用稍微更復雜的管道構建,有一些可重用的步驟,因爲我有很多或類似的項目。我使用jenkins 2.0和管道插件。我知道你可以加載包含一些通用代碼片段的groovy腳本,但我想知道這些腳本是否可以使用Groovy的一些面向對象特性,如特徵。例如說我有一個特點叫步:jenkinsfile使用特性和其他groovy synax
package com.foo.something.ci
trait Step {
void execute(){ echo 'Null execution'}
}
而一類則在另一個文件中實現的特質:
class Lint implements Step {
def execute() {
stage('lint')
node {
echo 'Do Stuff'
}
}
}
然後另一個類包含的「主」功能:
class foo {
def f = new Lint()
f.execute()
}
我將如何加載和使用Jenkinsfile中的所有這些類,特別是因爲我可能有多個類,每個類都定義一個步驟?這甚至有可能嗎?