Jenkins 全局函数通常指的是在 Jenkins Pipeline 脚本中可以全局使用的函数或者步骤。这些函数或步骤可以在整个 Pipeline 中被调用,而不需要在每个脚本中重新定义。以下是一些常见的 Jenkins 全局函数和步骤:
Jenkins 提供了一些内置的环境变量,可以在 Pipeline 脚本中直接使用。例如:
echo "当前构建编号: ${env.BUILD_NUMBER}"
echo "当前构建的 URL: ${env.BUILD_URL}"
通过 parameters
块定义全局参数,可以在整个 Pipeline 中访问这些参数:
pipeline {
agent any
parameters {
string(name: 'BRANCH_NAME', defaultValue: 'master', description: '分支名称')
}
stages {
stage('Example') {
steps {
echo "当前分支: ${params.BRANCH_NAME}"
}
}
}
}
Jenkins 允许你在全局工具配置中定义常用的工具(如 JDK、Maven 等),然后在 Pipeline 中引用这些工具:
pipeline {
agent any
tools {
jdk 'JDK8'
maven 'Maven3'
}
stages {
stage('Build') {
steps {
sh 'mvn clean install'
}
}
}
}
Jenkins 支持使用全局库(Global Libraries),可以在多个 Pipeline 中共享自定义的 Groovy 脚本和步骤。首先需要在 Jenkins 管理界面中配置全局库,然后在 Pipeline 中引用:
@Library('my-global-library') _
pipeline {
agent any
stages {
stage('Example') {
steps {
myCustomStep()
}
}
}
}
如果你使用了共享库,可以在其中定义自定义步骤,并在整个 Jenkins 实例中使用:
// 在共享库的 vars 目录下创建一个 MyCustomStep.groovy 文件
def call() {
echo '执行自定义步骤'
}
// 在 Pipeline 中调用
pipeline {
agent any
stages {
stage('Example') {
steps {
myCustomStep()
}
}
}
}
Jenkins Pipeline DSL 提供了许多预定义的步骤,如 sh
(执行 shell 命令)、bat
(执行 Windows 批处理命令)、git
(克隆仓库)等,这些步骤可以在任何 Pipeline 中使用。
通过合理利用这些全局函数和步骤,可以大大简化 Jenkins Pipeline 脚本的编写和管理。
领取专属 10元无门槛券
手把手带您无忧上云