# jenkins-shared-library **Repository Path**: finley/jenkins-shared-library ## Basic Information - **Project Name**: jenkins-shared-library - **Description**: Jenkins 共享库的介绍 - **Primary Language**: Groovy - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 3 - **Created**: 2021-11-03 - **Last Updated**: 2023-11-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README * vars 目录下的全局变量可以直接在pipeline中使用,即当写`sayHello('world')`,实际调用的是`sayHello.groovy`中的call函数 * src 目录是标准的Java源码结构,目录中的类被称为类库(Library class),而 `@Library('global-shared-library@master')` 就是一次性静态加载src目录下所有代码到classpath中。 ``` (root) +- src # Groovy source files | +- org | +- foo | +- Bar.groovy # for org.foo.Bar class +- vars | +- foo.groovy # for global 'foo' variable | +- foo.txt # help for 'foo' variable +- resources # resource files (external libraries only) | +- org | +- foo | +- bar.json # static helper data for org.foo.Bar ``` * vars 目录下的全局变量可以直接在pipeline中使用,即当写`sayHello('world')`,实际调用的是`sayHello.groovy`中的call函数 * src 目录是标准的Java源码结构,目录中的类被称为类库(Library class),而 `@Library('global-shared-library@master')` 就是一次性静态加载src目录下所有代码到classpath中。 ```bash @Library('my-shared-library') _ /* Using a version specifier, such as branch, tag, etc */ @Library('my-shared-library@1.0') _ /* Accessing multiple libraries with one statement */ @Library(['my-shared-library', 'otherlib@abc1234']) _ ``` ## 参考 https://www.jenkins.io/doc/book/pipeline/shared-libraries/