首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jenkins在同一个repo上共享库和jenkinsFiles

Jenkins在同一个repo上共享库和jenkinsFiles
EN

Stack Overflow用户
提问于 2021-02-21 23:11:56
回答 1查看 410关注 0票数 1

有没有可能在同一个repo中有一个全局共享库和jenkinsFiles?

我想要像这样的东西

代码语言:javascript
复制
─ root
   ├── all-jenkins-files
   |    └── dir1
   |        └── Jenkinsfile1
   |    └── dir2
   |        └── Jenkinsfile2
   ├── shared-libraries
       └── src
       └── var

我尝试使用globel共享库配置,但我认为由于目录结构的原因,它失败了。全局共享库期望在根目录下有srcvar文件夹。

你知道怎么克服这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2021-02-22 03:48:30

是的,在同一个文件夹中有一个像structure这样的共享库是可能的,但我不认为你可以像共享库一样使用(隐式或动态加载)。

在这种情况下,您可以使用load数字用户线路。

如果SCM中的文件夹类似于:

代码语言:javascript
复制
.
├── shared-library
│   ├── src
│   └── vars
│       ├── log.groovy
│       ├── myPipeline.groovy
│  
├── all-jenkins-file
│   └── Jenkinsfile

shared-library/vars/myPipeline.groovy

代码语言:javascript
复制
stage('01') {
    echo "01"
}
stage('02') {
    echo "02"
}
stage('03') {
    echo "03"
}

shared-library/vars/log.groovy

代码语言:javascript
复制
def info(message) {
    echo "INFO: ${message}"
}

def warning(message) {
    echo "WARNING: ${message}"
}
return this;

all-jenkins-file/Jenkinsfile

代码语言:javascript
复制
node {
    checkout scm
    load "${env.WORKSPACE}/shared-library/vars/myPipeline.groovy"

    def log =load "${env.WORKSPACE}/shared-library/vars/log.groovy"
    log.info('Hello')
    
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66303736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档