Jenkins “Trigger/call builds on other project“用法及携带参数

news2024/11/25 2:57:58

1.功能

“Trigger/call builds on other project” 功能是 Jenkins 中的一个特性,允许您在某个项目的构建过程中触发或调用另一个项目的构建。

当您在 Jenkins 中启用了 “Trigger/call builds on other project” 功能并配置了相应的触发条件后,当主项目构建成功或满足触发条件时,Jenkins 将自动触发所配置的目标项目的构建。

这种功能通常用于创建复杂的构建流水线或构建依赖关系。例如,您可以将多个项目串联起来,使得一个项目的构建成功触发下一个项目的构建,以实现整个软件开发、测试和部署流程的自动化。

通过 “Trigger/call builds on other project” 功能,您可以创建复杂的构建逻辑,并且将不同的项目之间形成依赖关系,以便实现更高级的自动化和集成。

2.携带参数的两种办法

在 “Triggering Options”(触发选项)中,查找 “Parameters”(参数)部分。选择 “Predefined parameters”(预定义参数)或 “Current build parameters”(当前构建参数),具体取决于您希望如何传递参数。

如果选择了 “Predefined parameters”(预定义参数),您可以按照以下格式提供参数:

PARAM_NAME=${VALUE}

其中,PARAM_NAME 是 B 项目中定义的参数名称,VALUE 是您希望传递给 B 项目的实际值。例如:PARAM_NAME=example_value

如果选择了 “Current build parameters”(当前构建参数),那么 A 项目中定义的所有构建参数都将自动传递给 B 项目

在参数字段中,使用 Shell 脚本来获取当前时间并将其赋值给参数。例如,要将当前日期以 “YYYY-MM-DD” 格式传递给 B 项目,您可以使用以下命令:

PARAM_NAME=$(date +%F)

这将使用 date 命令获取当前日期,并将其格式化为 “YYYY-MM-DD” 并赋值给 PARAM_NAME 参数。

如果您还想添加其他参数,您可以使用换行符 \n 将它们分隔开,如下所示:

PARAM_NAME=$(date +%F)\nANOTHER_PARAM=value

3.实际使用案例

项目A,会传递VERSION选项参数和预定义参数DIRNAMES
在这里插入图片描述
在这里插入图片描述
项目B

import java.text.SimpleDateFormat
import java.util.Date

pipeline {
	agent none
	environment {
        createdir = getVERSION()
        dirname = "${params.DIRNAMES}"
    }
	stages {
		stage('初始化') {
			agent { label "10.101.11.55" }
		    steps {
            script {
              wrap([$class: 'BuildUser']) {
                buildName "#${BUILD_NUMBER}_${BUILD_USER}"
              }
			}
			cleanWs()
		    }
		}
		stage('上传到文档管理系统') {
            agent { label "10.101.11.55" }
            steps {
                script {
                    sh'''
					
					#软链接
                    #cd $WORKSPACE/
                    #ln -s /jenkins/product/${dirname}/${createdir} ./
                    #ls $WORKSPACE/
                    
                    echo $createdir
                    echo $dirname
					
                    '''
                }
            }
        }
	}
}

def getVERSION() {
    if (params.VERSION && !params.VERSION.trim().isEmpty()){
        return params.VERSION
    } else {
        def dateFormat = new SimpleDateFormat("yyyyMMdd")
        return dateFormat.format(new Date())
    }
}
def uploadFolder(url,folder,dirname){
    def files = findFiles(glob: "$folder")
    for(file in files){
        echo file.path
        def path = file.path;
        path = path.replace(file.name,"");
        echo path
        sh 'curl -i -X POST "' + "$url" + '" -H "Content-Type: multipart/form-data" -F "file=@' + file.path + '" -F "user=test" -F "userName=test" -F "path=${dirname}/' + path + '" '
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1036779.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python实验2

1、实验题目:个人用户信息注册 模拟用户个人信息注册,需要输入用户个人信息 姓名、性别、年龄、血型、身高、电话 信息,并输出显示。 源代码: print(用户个人信息注册) name input("请输入您的姓名:") sex…

Northstar 量化平台

基于 B/S 架构、可替代付费商业软件的一站式量化交易平台。具备历史回放、策略研发、模拟交易、实盘交易等功能。兼顾全自动与半自动的使用场景。 已对接国内期货股票、外盘美股港股。 面向程序员的量化交易软件,用于期货、股票、外汇、炒币等多种交易场景&#xff…

1.2 kV SiC SWITCH-MOS 在短路应力后的分析

标题:Analysis of 1.2 kV SiC SWITCH-MOS after Short-circuit Stress 摘要 本研究调查了在短路应力后1.2 kV SWITCH-MOS的残余损伤。在应力施加后,相当于SWITCH-MOS耐受时间的约80%,正向阻断状态下的漏电流急剧增加。发现SWITCH-MOS中的SB…

一起学数据结构(8)——二叉树中堆的代码实现

在上篇文章中提到,提到了二叉树中一种特殊的结构——完全二叉树。对于完全二叉树,在存储时,适合使用顺序存储。对于非完全二叉树,适合用链式存储。本文将给出完全二叉树的顺序结构以及相关的代码实现: 1. 二叉树的结构…

Categraf v0.3.22部署

wget https://github.com/flashcatcloud/categraf/releases/download/v0.3.22/categraf-v0.3.22-linux-amd64.tar.gz下载安装包。 sudo mkdir /opt/categraf创建一个目录。 tar zxf categraf-v0.3.22-linux-amd64.tar.gz -C /opt/categraf进行解压。 /opt/categraf/categ…

ORA-27102: out of memory

正在外面办事呢,项目经理打电话并截图说明,物理服务器增加内存后,他调整sgapga后,重启无法启动了,报错ORA-27102: out of memory。 SYSorcl> startup; ORA-27102: out of memory Linux-x86_64 Error: 28: No space…

9领域事件

本系列包含以下文章: DDD入门DDD概念大白话战略设计代码工程结构请求处理流程聚合根与资源库实体与值对象应用服务与领域服务领域事件(本文)CQRS 案例项目介绍 # 既然DDD是“领域”驱动,那么我们便不能抛开业务而只讲技术&…

深度学习综述:Computation-efficient Deep Learning for Computer Vision: A Survey

论文作者:Yulin Wang,Yizeng Han,Chaofei Wang,Shiji Song,Qi Tian,Gao Huang 作者单位:Tsinghua University; Huawei Inc. 论文链接:http://arxiv.org/abs/2308.13998v1 内容简介: 在过去的十年中,深度学习模型取…

原生HTML实现marquee向上滚动效果

实现原理&#xff1a;借助CSS3中animation动画以及原生JS克隆API <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /…

【MySQL集群二】使用MyCat和ProxySql代理MySQL集群

中间件代理MySQL MyCat安装MyCat介绍&#xff1a;步骤1&#xff1a;安装Java环境步骤2&#xff1a;下载并解压Mycat步骤3&#xff1a;配置Mycat步骤4&#xff1a;启动Mycat ProxySql安装ProxySql介绍&#xff1a;步骤1&#xff1a;更新系统步骤2&#xff1a;安装ProxySQL步骤3&…

数学笔记:傅里叶变化

1 介绍 简而言之&#xff0c;傅里叶变换把一个输入信号分解成一堆正弦波的叠加 比如&#xff0c;以下是一个波&#xff1a; 这个波可以分解为两个正弦波的叠加。 也就是说&#xff0c;当我们将两个正弦波相加时&#xff0c;就会得到原来的波 哪怕是一个方波 也可以分解成一组…

【块状链表C++】文本编辑器(指针中 引用 的使用)

》》》算法竞赛 /*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * * brief 一直在竞赛算法学习的路上* * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载…

稀疏奖励问题解决方案总览

方案简介 HER (Hindsight Experience Replay) - 2017年 思想 HER&#xff08;Hindsight Experience Replay&#xff09;是一种特别设计用于解决稀疏奖励问题的强化学习算法。它主要用于那些具有高度稀疏奖励和延迟奖励的任务&#xff0c;特别是在连续动作空间中&#xff0c;如机…

IDEA设置注释快捷键进行 注释对齐

给大家推荐一个嘎嘎好用的功能~ 相信大家在使用IDE写代码的时候&#xff0c;经常用到 Ctrl / 来注释代码吧&#xff0c;但是默认的是将注释在行首对齐&#xff0c;看着很让人不舒服。但是下面的操作会将注释会和当前代码对齐&#xff0c;还会自动保留一个空格&#xff0c;真的…

【用unity实现100个游戏之13】复刻类泰瑞利亚生存建造游戏——包括建造系统和库存系统

文章目录 前言素材人物瓦片其他 一、建造系统1. 定义物品类2. 绘制地图3. 实现瓦片选中效果4. 限制瓦片选择5. 放置物品功能6. 清除物品7. 生成和拾取物品功能 二、库存系统1. 简单绘制UI2. 零代码控制背包的开启关闭3. 实现物品的拖拽拖拽功能拖拽恢复问题 4. 拖拽放置物品5. …

【C语言精髓 之 指针】指针*、取地址、解引用*、引用

/*** file * author jUicE_g2R(qq:3406291309)————彬(bin-必应)* 一个某双流一大学通信与信息专业大二在读 * copyright 2023.9* COPYRIGHT 原创技术笔记&#xff1a;转载需获得博主本人同意&#xff0c;且需标明转载源* language …

人工智能驱动的自然语言处理:解锁文本数据的价值

文章目录 什么是自然语言处理&#xff1f;NLP的应用领域1. 情感分析2. 机器翻译3. 智能助手4. 医疗保健5. 舆情分析 使用Python进行NLP避免NLP中的陷阱结论 &#x1f389;欢迎来到AIGC人工智能专栏~人工智能驱动的自然语言处理&#xff1a;解锁文本数据的价值 ☆* o(≧▽≦)o *…

flutter web 优化和flutter_admin_template

文章目录 Flutter Admin TemplateLive demo: https://githubityu.github.io/live_flutter_adminWeb 优化 Setup登录注册英文 亮色主题 中文 暗黑主题管理员登录权限 根据权限动态添加路由 第三方依赖License最后参考学习 Flutter Admin Template Responsive web with light/da…

C++ 学习系列 -- std::vector (未完待续)

一 std::vector 是什么&#xff1f; vector 是c 中一种序列式容器&#xff0c;与前面说的 array 类似&#xff0c;其内存分配是连续的&#xff0c;但是与 array 不同的地方在于&#xff0c;vector 在运行时是可以动态扩容的&#xff0c;此外 vector 提供了许多方便的操作&…

世界前沿技术发展报告2023《世界信息技术发展报告》(四)电子信息技术

&#xff08;四&#xff09;电子信息技术 1. 概述2. 微电子技术2.1 精细制程芯片2.1.1 中国台积电发布2纳米制程工艺细节2.1.2 美国英特尔公司称2030年芯片晶体管密度将达到目前的10倍2.1.3 韩国三星电子率先实现3纳米制程芯片量产2.1.4 日本丰田、索尼等8家公司合资成立高端芯…