kubesphere版本:v3.1.0
网上看了一些Jenkins配置共享库的方法,都需要在Jenkins 管理界面进行配置,挺麻烦的,后来找的一种方案,官网文档称之为动态检索。
第一步:共享库的开发
参考Jenkins官网文档
第二步:调用共享库(src目录)
jsl = library(
identifier: "jenkins-shared-lib@dev", retriever: modernSCM([
$class: "GitSCMSource",
remote: "git库的地址"
])
)
def Test = jsl.com.mydevops.cicd.Test.new()
pipeline {
agent any
stages {
stage('Init') {
steps {
script {
Test.demo()
}
}
}
}
}
第三步:对第二步关键点分析
3.1 动态加载库,identifier
:库标识@分支
jsl = library(
identifier: "jenkins-shared-lib@dev", retriever: modernSCM([
$class: "GitSCMSource",
remote: "git库的地址"
])
)
3.2 开发了com.mydevops.cicd.Test
,把Test类导入Jenkinsfile
:
def Test = jsl.com.mydevops.cicd.Test.new()
3.3 声明式Jenkinsfile调用类方法,放在script
中
script {
Test.demo()
}
第四步:调用模板库(vars目录)
在流水线中是全局变量,直接通过类名调用即可,注意vars和src是同级的目录。