首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Jenkins全局函数

Jenkins 全局函数通常指的是在 Jenkins Pipeline 脚本中可以全局使用的函数或者步骤。这些函数或步骤可以在整个 Pipeline 中被调用,而不需要在每个脚本中重新定义。以下是一些常见的 Jenkins 全局函数和步骤:

1. 环境变量

Jenkins 提供了一些内置的环境变量,可以在 Pipeline 脚本中直接使用。例如:

代码语言:javascript
复制
echo "当前构建编号: ${env.BUILD_NUMBER}"
echo "当前构建的 URL: ${env.BUILD_URL}"

2. 参数化构建

通过 parameters 块定义全局参数,可以在整个 Pipeline 中访问这些参数:

代码语言:javascript
复制
pipeline {
    agent any
    parameters {
        string(name: 'BRANCH_NAME', defaultValue: 'master', description: '分支名称')
    }
    stages {
        stage('Example') {
            steps {
                echo "当前分支: ${params.BRANCH_NAME}"
            }
        }
    }
}

3. 全局工具配置

Jenkins 允许你在全局工具配置中定义常用的工具(如 JDK、Maven 等),然后在 Pipeline 中引用这些工具:

代码语言:javascript
复制
pipeline {
    agent any
    tools {
        jdk 'JDK8'
        maven 'Maven3'
    }
    stages {
        stage('Build') {
            steps {
                sh 'mvn clean install'
            }
        }
    }
}

4. 全局库

Jenkins 支持使用全局库(Global Libraries),可以在多个 Pipeline 中共享自定义的 Groovy 脚本和步骤。首先需要在 Jenkins 管理界面中配置全局库,然后在 Pipeline 中引用:

代码语言:javascript
复制
@Library('my-global-library') _

pipeline {
    agent any
    stages {
        stage('Example') {
            steps {
                myCustomStep()
            }
        }
    }
}

5. 共享库中的步骤

如果你使用了共享库,可以在其中定义自定义步骤,并在整个 Jenkins 实例中使用:

代码语言:javascript
复制
// 在共享库的 vars 目录下创建一个 MyCustomStep.groovy 文件
def call() {
    echo '执行自定义步骤'
}

// 在 Pipeline 中调用
pipeline {
    agent any
    stages {
        stage('Example') {
            steps {
                myCustomStep()
            }
        }
    }
}

6. 预定义步骤

Jenkins Pipeline DSL 提供了许多预定义的步骤,如 sh(执行 shell 命令)、bat(执行 Windows 批处理命令)、git(克隆仓库)等,这些步骤可以在任何 Pipeline 中使用。

注意事项

  • 确保你的 Jenkins 版本支持你所使用的功能。
  • 对于复杂的逻辑,建议将代码模块化,使用共享库或自定义步骤来提高可维护性。

通过合理利用这些全局函数和步骤,可以大大简化 Jenkins Pipeline 脚本的编写和管理。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Jenkins设置本地显示为中文【不更改Jenkins全局配置】

问题描述: 你是否碰到过这样的问题:两个人访问同一个Jenkins系统时,一个显示为中文,而另外一个人显示为英文,这是为什么呢?有时候,为了使用方便,使用者可能会想设置Jenkins显示为中文。...解决办法: 方法一:修改Jenkins全局语言配置 这也是网上可以搜索到的大部分的解决方案 1、先安装插件:Locale plugin (不再赘述) 2、jienkins->【系统管理】->【系统设置...】->【Locale】,输入:zh_CN,这里还有很多语言,比如:en_US等都是国际化标志 方法二:修改chrome语言选项 如果你是Jenkins的管理员,那么你可以修改Jenkins全局配置,但是有时候你并不是管理员...3、设置完成后,到你的Jenkins系统中,刷新,你即可看到Jenkins以中文显示了。

61410
  • jenkins系统管理(二)-系统设置、全局安全配置 、全局工具配置

    二、全局安全配置 jenkins默认设置不做安全检查,任何人都可以修改设置,当在多个团队下使用时,没有安全检查会引起不必要的问题,下面介绍几个常用的jenkins安全设置。...1、从系统管理->全局安全配置进入设置页面。 2、勾选“启用安全”,如下图: ? 1)安全域:用于控制用户访问的工具。...登录用户可以做任何事:用户在登录成功后,具备jenkins最高权限,匿名用户则只有查看权限。 遗留模式:适用于Jenkins1.164以前的版本,只有admin有最高权限,其他用户则只有查看权限。...三、全局工具设置 全局工具设置,可配置JDK,Git,Gradle,Ant,Maven等工具,当然,默认情况下不显示全部工具的配置栏,必须安装相应的插件,安装插件前一篇文章已介绍,本文不再做详细说明。...笔者以JDK为例,配置步骤如下: 1、从系统管理->全局工具设置进入配置页面。

    2.4K50

    Swift: 有用的标准库全局函数

    全局函数 Global functions :无需特定类型范围就可以从任何地方访问的函数是一个古老的概念,在 C 和 Objective-C 等语言中很流行,但是在 Swift 中不建议使用,因为我们希望对它们进行很好的类型化和范围划分...global function 由于历史原因,Swift 标准库中仍然具有相当多的公共全局功能,其中一些功能至今仍然非常有用。让我们看一下zip()和dump()之类的函数。...zip() zip函数也许是最著名的全局函数,它使您可以采用两个或多个数组并将它们合并为一个元组序列。...dump(foo) // ▿ #0 // - super: NSObject // - bar: "bar" sequence() 全局...sequence()函数有点晦涩,但是它是一个非常酷的函数,可让您以更好的语法编写递归函数

    2.7K20

    Laravel配置全局公共函数的方法步骤

    前言 在laravel项目开发中,经常使用到公共函数,那如何在laravel配置全局公共函数呢??...下面话不多说了,来一起看看详细的介绍吧 方法如下 在Laravel项目中我们常常需要定义一些全局的公共函数,通常我们会将这些公共函数定义在一个单独的文件里,如helpers.php中。...字符串两次md5加密 * @param $str 要加密的字符串 */ function double_md5($str) { return md5(md5(trim($str))); } 该函数返回对一个字符串进行两次...composer dump-autoload 确保让修改生效: composer dump-autoload # 或 composer dumpautoload 现在 helpers.php 中的所有函数都会载入到自动加载器中...,你可以在你项目的代码中使用helpers.php文件中定义的函数了。

    3.3K20

    函数(六)(局部变量与全局变量)

    局部变量与全局变量 一般来说,C语言程序中可以在程序中以下地方定义变量: (1) 函数体的开头部分。 (2) 函数头部中的形式参数变量。 (3) 函数体内部的复合语句中。 (4) 函数的外部。...根据变量在程序中定义位置,可以将变量分为“局部变量”和“全局变量” 在函数内部定义的变量称为局部变量。函数体开头部分、函数头中的形式参数和函数体内复合语句中定义的变量都属于局部变量。...源程序文件中在函数外部定义的变量称为全局变量,全局变量作用域的起点是变量定义的位置,全局变量作用域的终点中其所在的源程序文件的结束。...静态局部变量 如果希望函数中局部变量的值在函数调用结束后仍然保留原来的值,即系统不释放变量占用的内存空间,在下一次函数调用时,该变量保持上一次函数调用结束后的值。...外部全局变量 如果要在一个源程序文件中使用其它源程序文件中定义的全局变量,则需要使用关键字extern说明。 备注:是使用已定义的全局变量,而不是定义新的全局变量,具体见书P135示例。 2.

    69120

    【Node.js】全局可用变量、函数和对象

    文章目录 前言 _dirname和_filename变量 全局函数 setTimeout(cb,ms) clearTimeout(t) setInterval(cb,ms) clearInterval(...总结 ---- 前言 在Node.js中提供了一些全局可用的变量、函数和对象,全局就是不需要进行模块加载,可以直接使用的。其中包括全局作用域的函数和对象。...也包括不在全局作用域,而在每个模块作用域都存在的变量、函数和对象,在全局可用,但不是golbal对象的属性。...全局函数 setTimeout(cb,ms) 全局函数在指定的毫秒(ms)数后执行指定函数(cb)。setTimeout()只执行一次指定函数。...clearTimeout(t) 全局函数用于停止一个之前通过setTimeout()创建的定时器。参数t是通过setTimeout()函数创建的计时器。

    2.5K40

    函数全局变量重复定义时会怎样?

    #查看符号信息 0000000000000000 T func_symbol 0000000000000000 D symbol 通过nm命令就可以查看符号信息,这里就有我们的func_symbol函数全局变量...除了上面提到的全局符号,目标文件中还有其他符号信息,不过这不是本文关注的重点。 强符号与弱符号 对于C/C++语言来说,编译器默认函数和初始化了的全局变量为强符号,未初始化的全局变量为弱符号。...通过下面的例子来看看哪些是强符号,哪些是弱符号: #include int weak; // 未初始化全局变量,弱符号 int strong = 1024; // 已初始化全局变量,强符号...,链接器有它的处理规则: 1.强符号不允许重复 2.有一个强符号和多个弱符号,使用强符号 3.多个弱符号,则随意选择一个 关于第一点,在最开始的例子中你已经见到了,最常见的情况就是你重复定义了变量或者函数等等...总结 如非特殊需求,应该尽量避免出现全局变量同名,以免造成意料不到的结果,例如使用变量时最小范围定义,即尽可能避免全局变量,或者使用命名空间(如C++中)。

    1.8K30

    Jenkins+Gogs(git仓库)系列7:系统管理-全局工具配置

    本文链接:https://blog.csdn.net/yangj507/article/details/95087072 在这里提前讲解全局工具配置是因为:后面再进行任务配置的时候,前提就是需要对全局工具进行配置...,先打好基础,后面配置的时候问题会少一些 插件的安装:应该有gradle和nodejs是需要搜索安装的 1、大前提说明:这里的全局工具配置,都是针对jenkins服务器进行操作的,就是说,所有的配置都是在...jenkins服务器上。...所以没有的环境,就需要在jenkins服务器上安装好 2、jdk的配置,jar项目、war项目,都需要用到 ? 2、git配置,这是必须配置的,只要你要链接代码仓库 ?...目前我这里只配置了这些全局配置,若你有其他的需要配置,按需进行

    42640

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券