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

Jenkins Pipeline将参数作为shell脚本参数传递

Jenkins Pipeline是一种用于构建、部署和自动化软件交付流程的工具。它允许用户以代码的形式定义整个软件交付流程,并且可以与各种版本控制系统集成,如Git、SVN等。

在Jenkins Pipeline中,可以将参数作为shell脚本参数传递。这意味着可以在Pipeline中定义参数,并将这些参数传递给shell脚本,以便在构建过程中使用。

参数可以是各种类型,如字符串、布尔值、整数等。可以通过在Pipeline中使用parameters关键字来定义参数。以下是一个示例:

代码语言:txt
复制
pipeline {
    agent any
    parameters {
        string(name: 'ENVIRONMENT', defaultValue: 'dev', description: 'Environment to deploy')
        booleanParam(name: 'ENABLE_DEBUG', defaultValue: false, description: 'Enable debug mode')
        choice(name: 'DATABASE', choices: ['mysql', 'postgresql', 'mongodb'], description: 'Database type')
    }
    stages {
        stage('Build') {
            steps {
                sh "echo Deploying to ${params.ENVIRONMENT}"
                sh "echo Debug mode: ${params.ENABLE_DEBUG}"
                sh "echo Database type: ${params.DATABASE}"
            }
        }
    }
}

在上面的示例中,我们定义了三个参数:ENVIRONMENTENABLE_DEBUGDATABASEENVIRONMENT是一个字符串类型的参数,默认值为dev,用于指定部署环境。ENABLE_DEBUG是一个布尔类型的参数,默认值为false,用于指定是否启用调试模式。DATABASE是一个选择类型的参数,可选值为mysqlpostgresqlmongodb,用于指定数据库类型。

在Pipeline的Build阶段中,我们使用sh步骤执行shell脚本,并将参数的值作为shell脚本的参数传递。${params.ENVIRONMENT}${params.ENABLE_DEBUG}${params.DATABASE}分别表示参数ENVIRONMENTENABLE_DEBUGDATABASE的值。

通过这种方式,我们可以根据不同的参数值执行不同的操作,实现灵活的构建和部署流程。

腾讯云提供了一系列与Jenkins相关的产品和服务,如云托管、云原生应用平台等,可以帮助用户更好地使用Jenkins进行软件交付和部署。您可以访问腾讯云官网了解更多相关信息:腾讯云产品与服务

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

相关·内容

jenkins allure_jenkins参数传递shell

前言 jenkins集成了allure插件,安装插件后运行pytest+allure的脚本即可在jenkins上查看allure报告了。...Plugin插件安装 docker容器内部准备好 Allure 的环境后,接着在jenkins上安装 Allure Jenkins Plugin 插件 打开jenkins首页-系统管理-管理插件-可选插件...,搜索:Allure 安装完成后打开jenkins首页-全局工具配置-Allure Commandline, 安装 allure 命令行工具 勾选自动安装,版本选择最新版2.13就可以了...执行shell 执行shell的地方改成运行allure的报告, 使用–alluredir 参数设置报告路径 pytest --alluredir ..../report ${WORKSPACE} 是jenkins的环境变量,表示当前的工作目录,更多的环境变量点上图的箭头位置:可用的环境变量列表 如果想在报告中添加环境变量,还需加入以下命令 cp

45110
  • LinuxUnix shell 参数传递到SQL脚本

    在数据库运维的过程中,Shell 脚本在很大程度上为运维提供了极大的便利性。而shell 脚本参数作为变量传递给SQL以及SQL脚本也是DBA经常碰到的情形之一。...本文主要讨论了如何shell脚本参数传递到SQL脚本之中并执行SQL查询。   ...有关shell与SQL之间的变量传递,请参考:  Linux/Unix shell sql 之间传递变量 1、启动sqlplus时执行脚本传递参数 robin@SZDB:~/dba_scripts/...的参数传递给SQL脚本 b、方式1的用法是直接shell变量跟在脚本之后, sqlplus userid/pwd @script_name $para1 $para2 c、方式2是启动sqlplus后在...SQL提示符下来传递参数, SQL>@script_name $para1 $para2 d、方式3则是shell变量的值先传递给define定义的变量,然后再传递给SQL脚本 SQL>@script_name

    1.9K20

    Shell 传递参数

    概述$n 我们可以在执行 Shell 脚本时,向脚本传递参数脚本内获取参数的格式为:$n。...n 代表一个数字,1 为执行脚本的第一个参数,2 为执行脚本的第二个参数,以此类推…… #实例 以下实例我们向脚本传递三个参数,并分别输出,其中 $0 为执行的文件名: #!.../bin/bash # author:xiaogongjiang # date:2016-08-29 echo "Shell 传递参数实例!"...; echo "第一个参数为:$1"; echo "参数个数为:$#"; echo "传递参数作为一个字符串显示:$*"; 执行脚本,输出结果如下所示: $ chmod +x test.sh $.../test.sh 1 2 3 Shell 传递参数实例! 第一个参数为:1 参数个数为:3 传递参数作为一个字符串显示:1 2 3 ---- $* 与 $@ 区别: 相同点:都是引用所有参数

    5.3K30

    shell脚本参数传递一例

    shell脚本中,我们也可以像其他编程语言一样处理传递的option以及对应的值,比如: 既支持 --name=, 也支持 --name , 那么如何才能做到呢?...name=${1#--name=} else name=$2 #如果option后面没有等号,那么后面的参数...,也就是$2必然是option对应的值,因为没有用等号进行连接,所以需要用shift 来对位置参数进行移位处理; shift fi...[root@localhost ~]# 在这个例子中,通过判断传递参数是否包含"=", 从而获取相应参数对应的参数值. 实现对传入参数以及参数值的获取。...这个使用技巧在系统中的很多shell脚本中都有体现,所以想提高shell 脚本的能力,多多阅读系统中的shell脚本吧,一定会有意外的收获哦。

    76830

    Shell 参数传递、 $* 与 $@ 区别

    传递参数 脚本内获取参数的格式为: $n。...n 代表一个数字,1 为执行脚本的第一个参数, 2 为执行脚本的第二个参数,以此类推…… 1)新建文件 touch aa.sh echo 第一个参数为:$1; echo 第2个参数是:$2; 2) 传入参数...假设在脚本运行时写了三个参数 1、2、3,,则 " * " 等价于 "1 2 3"(传递了一个参数)。 而 "@" 等价于 "1" "2" "3"(传递了三个参数)。...比较$*和$@ echo 第1个参数为:$1; echo 第2个参数是:$2; echo 第3个参数为:$3; echo 第4个参数为:$4; echo 参数个数为:$#; echo 参数拼接为字串结果为...$ sh aa.sh 你 我 他 她 第1个参数为:你 第2个参数是:我 第3个参数为:他 第4个参数为:她 参数个数为:4 参数拼接为字串结果为: 你 我 他 她 ------------------

    48320

    Go-函数作为参数传递

    Go-函数作为参数传递 编码过程中业务需要将一个函数,作为参数传递到函数内部。...Go 语言的匿名函数是一个闭包(Closure) 什么是闭包 闭包指的是引用了自由变量的函数(未绑定到特定对象的变量,通常在匿名函数外定义),被引用的自由变量和这个函数一同存在。...闭包的价值在于可以作为函数对象或者匿名函数,对于类型系统而言,这意味着这个对象不仅要表示数据还要表示代码. 就是说这些函数可以存储到变量中作为参数传递给其他函数,能够被函数动态创建和返回。...闭包内部声明的局部变量无法从外部修改,从而确保了安全性(类似类的私有属性): f := func() { var i int = 1 fmt.Printf("i, j: %d, %d\n", i, j) } 匿名函数作为参数...声明一个外部函数的参数为函数类型,然后定义一个闭包并赋值给指定变量,再将这个变量传递到外部函数中。

    1.6K10

    Jenkins不同job之间传递参数

    有的时候不同job直接需要传递一个文件名或者路径,这个时候我们不需要传递文件实体,那这个路径如何传递呢?比如有如下两个项目,我想把A的工作目录传递给B,让B使用。 ?...在A项目配置面板中Post-build Actions选项中选择Trigger parameterized build on other projects 我选择的参数为预定义参数,如果想知道有哪些与定义参数...我A项目的工作目录传递给了自定义参数TEST_WORKSPACE.到这里A项目的配置就完成了。...这样我们就在当前工作环境中得到了由A传递过来的参数。至于你怎么使用,那是你的事了。...比如我在shell脚本中首先切换到该目录下(需要在一台机器上),然后在A项目的工作目录下生成一个hello.txt文档,我们可以在shell命令下配置如下信息: ?

    1.8K20

    Jenkins参数化构建 - (多任务并串联参数传递

    业务需求:提供一个API 接口给开发同事用于传参,然后参数再传给测试组的对应接口。其实这个接口就起到一个数据中转作用,接收参数 - 转发参数。...实施方案:在Jenkins上新建一个Job,然后引用测试组的Job作为子任务 (最终是测试组接收数据)。...这里就涉及到"Jenkins的多个任务并串联参数传递"的配置,需要用"Parameterized Trigger Plugin",下载地址: https://wiki.jenkins-ci.org/display...向下游传递参数的名称必须要和下游任务的 参数名称一样 或者 参数名称是系统环境变量的参数(the list of available environment variables) ,不然下游job接收不到该参数的值...所以就可以下面这个Jenkins API接口给开发同事,用于调用这个参数进行上面相关参数的推送了。

    3.3K51

    【Python】函数进阶 ③ ( 函数作为参数传递 )

    一、函数参数传递类型 之前介绍的函数 , 都是 接收具体的 变量 或 字面量 数据 作为参数 , 如 : 数字 / 布尔值 / 字典 / 列表 / 元组 等 ; 函数 也可以作为参数 , 传入另一个函数中...; 在 Python 中,函数是一种可传递的实体 ; 这意味着可以一个函数作为另一个函数的参数进行传递 ; 函数作为参数传递时 , 通常被称为 " 高阶函数 " ; 函数 作为参数 是 计算逻辑 的传递..., 不是传统的数据传递 ; 在下面的 caculate_num 函数中 , 接收一个函数参数 action , 该参数使用了 函数调用语法 action(1, 2) 执行了一个函数操作 , action...= action(1, 2) print(result) # add 函数作为参数 传递给 caculate_num 函数 caculate_num(add) # 3 执行结果 :...def caculate_num(action): result = action(4, 2) print(result) # add 函数作为参数 传递给 caculate_num

    38630

    JS处理函数将对象作为参数传递

    做项目的时候遇到一个不是很常见的问题,就是js函数传递参数的时候,我们一般是传递一个数字或者是一个字符串,但是当你的需求满足不了的时候,就需要将对象或者数组作为一个参数传递过去,这个时候怎么做呢,今天简单的说有一下...: 先说一下我出现这个问题的环境,我在处理订单信息的时候,接口给的参数是所有的数据,所以这个时候我需要的是所有的数据遍历出来,数据结构大概是这样的: ?...这个是典型的三层的json结构,所以遍历的难度是不大的,就是很容就遍历出错,我的需求当然不是说仅仅这些数据遍历出来就可以了,我需要做的是最里层的data拿到,作为对象传递过去,因为这是每一个订单的具体内容...,也就是详情,所以需要明确的data作为一个参数传递过去,废话不说了,看代码; success: function(data) { var odata = data.model_list;...这个时候我们看上面的数据结构,最外层的是model_list包括的,所以直接取出来,拿到以后呢将我们需要的data拿到,转为json格式的,这个时候我们下面需要用到里面数据的时候就比较容易拿到,下一步就是怎么将对象data作为一个参数传递过去

    7.1K30
    领券