Jenkins配置项目教程
在上一篇[Jenkins的使用教程](https://blog.csdn.net/weixin_43787492/article/details/129028131?spm=1001.2014.3001.5501)中我介绍了如何创建一个项目
Jenkins在创建项目中提供了很多功能供我们选择,这里我将对配置项目做一个较完整的介绍
Jenkins配置项目
- 0、所有功能选项
- 1、General
- 1) 一般的项目设置:
- 2) 参数设置
- - 1、单选参数 Active Choices Parameter
- - 2、布尔值 Boolean Parameter
- - 3、文件参数 File system objects list Parameter
- - 4、Git参数 Git Parameter
- - 5、节点参数 Node
- - 6、分隔符参数 Parameter Separator
- - 7、字符串参数 String Parameter
- 2、Source Code Management
- 1)、需要使用git
- 2)、凭据 Credential使用的场景
- (1)、管理Node
- (2) 、项目中使用Git
- 3、Build Triggers
- 4、Build Environment
- 5、Build
- 举例1:Execute Shell
- 举例2:Trigger/call builds on other projects
- 6、Post-build Actions
- 举例1:Editable Email Notification 编辑通知邮件
- 举例2:Trigger parameterized build on other projects 触发执行其他项目
- 7、构建 MultiJob Project
- 举例、构建 MultiJob Project
0、所有功能选项
每个Jenkins的项目级都有以下6个选项,我们可以按需选择。
图1:项目中所有的option功能图

1、General
1) 一般的项目设置:
- “
Use custom workspace” :指定机器的工作根目录。如勾选并不填写Directory 则说明指定工作目录为创建该机器时设置的路径。也可手动填入新的目录。 - “
This project is parameterized”: 为该项目添加参数, 点击Add Parameter。【详细见图2.1】 - “
Restrict where this project can be run”:限制该项目可执行在哪个机器上,如输入机器名A。当然也可以不指定机器名,程序就会随机选一个当前在线且空闲的机器执行程序
图2:General图

在勾选This project is parameterized后点击Add Parameter,可以看到存在很多参数供我们选择,如下图。
2) 参数设置
图2.1:Paramter图

我将就以下几个常用的参数做个讲解:
- 1、单选参数 Active Choices Parameter
- 设置参数

- 显示参数

- 2、布尔值 Boolean Parameter
- 设置参数

- 显示参数

- 3、文件参数 File system objects list Parameter
- 设置参数
Include Pattern 和 Exclude Pattern用来 过滤匹配我们需要的内容,
如 ^Auto-aaa-\d{12}.tgz 用来匹配 以 Auto-aaa-开头,且包含12个数字的tgz文件。
- 4、Git参数 Git Parameter
- 设置参数 【设置Git参数的前提是Source Code Management中选Git,以及正确的Repository URL 和 Credentials】 在设置Git 参数时,需要选类型:选Tag 供应的参数值为Tag选Branch 供应的参数值为Branch选Revision 供应的参数值为Revision

也可通过Parameter type下面的Default Value来设置默认值,
黄色字写的是“Default Value is required. Example origin/master”
说明在我们的显示页面中显示的branch前面会有个origin(比如origin/master),如果在显示页面只想显示具体的branch值,而不要origin这个前缀字符,就在设置Git Parameter的右下角点击 Advanced, 在显示出来的页面中做如下操作:将原来默认的Branch Filter中的 .* 改为 origin/(.*),则在显示页面就不会出现origin的前缀了。

- 5、节点参数 Node
- 设置参数

- 6、分隔符参数 Parameter Separator
- 设置参数Section Header 输入文字描述,其他两个框都是一些css,描述字体颜色等可以任意设置

- 显示参数按照上图的设置,显示如下图

- 7、字符串参数 String Parameter
- 设置参数

- 显示参数

执行项目前,修改该值,可将值传入项目中。
2、Source Code Management
1)、需要使用git
如果需要使用git,就点击Git,然后根据下图配置信息。

2)、凭据 Credential使用的场景
(1)、管理Node
step1: 在 launch method :SSH
step2: HOST : IP地址
step3: Credentials: 登录该机器的用户名和密码
(2) 、项目中使用Git
step1: Repository URL : GIt仓库地址
step2: Credentials: 两种
第一种: Private Key
被Git管控的机器的私钥,内容为: ~/.ssh/id_rsa
第二种: 登录Git的用户名密码
直接可登Git的用户名密码, git config user.name
3、Build Triggers
可以设置项目定期执行, 语法和crontab 一样
比如设置为 00 22 * * * ,那么在每天22点,该项目就会定期自动执行。
4、Build Environment
在构建环境中,包含以下内容,比如 在执行前删除工作空间内容, 如果项目动不了就中止, 添加时间戳在结果输入页面等等。

5、Build
Build部分内容就是添加执行脚本:

点击 Add build step,会发现有很多类型供我们选择,一般就是 Execute Shell, 如果选择的机器是Windows,那么就选择Execue Windows batch command.

举例1:Execute Shell
step1:选择Execute Shell,输入Shell脚本

step2:按照上面shell构建完后的显示页面如下

step3:点击step2中的 Build,运行结果如下

举例2:Trigger/call builds on other projects
就是说我们可以建立触发条件来执行某项目
step1:选择Trigger/call builds on other projects

step2:设置触发条件的项目
可将触发项目移动至原来项目前面,则触发条件执行后,原项目才会执行。

step3:执行方法跟普通项目一样
6、Post-build Actions
Post-build Actions 就是项目执行后要做的操作

点击Add post-build actions,有很多选项供我们选择:

举例1:Editable Email Notification 编辑通知邮件
step1:点击Editable Email Notification,根据需求做以下操作

step2:完成上述编辑通知邮件后,如果执行,我们会发现设置的收件人并不会收到邮件,是因为我们没有`设置邮件发送的触发条件`,也就是第7小点,点击Advanced Settings...

step3: 选择要发送邮件的触发条件

step4:为了方便观察结果,我们一般设置Always,邮件一般格式如下:

step5:设置邮件的内容,上述的邮件内容不直观,可以通过以下设置:
- Jenkins为我们提供了一个template文件,它使用groovy+HTML语法编写 (需要网上下载到自己本地)
- 需要把该文件指定的目录下,首先需要找配置该Jenkins的工作目录( Manage Jenkins下的Configure System )
- 把该template放在 /Jenkins的工作目录/email-templates目录
- 该模板文件一般叫 groovy-html.template,当然也可以自己改名
- 使用Jenkins提供的模板来作为邮件的内容格式的设置

step6:使用Jenkins提供的模板后,邮件的内容如下

举例2:Trigger parameterized build on other projects 触发执行其他项目
当本项目执行完后,需要一些处理后续操作的步骤,就可以建立该项目

7、构建 MultiJob Project
前面介绍的项目是每次执行一个项目,假设我们每次都需要执行同样的三个项目,就可以构建一个多任务的项目来帮我们执行。
以下步骤:
step1: 创建MultiJob Project

step2:在Build中选择 Add build step,点击MultiJob Phase

step3: 输入阶段描述名,项目名,条件

举例、构建 MultiJob Project
step1:创建名为MultiJob_2023_0224的MultiJob项目,并添加如下MultiJob Phase

step2:执行页面

相关文章:
Jenkins配置项目教程
在上一篇[Jenkins的使用教程](https://blog.csdn.net/weixin_43787492/article/details/129028131?spm1001.2014.3001.5501)中我介绍了如何创建一个项目 Jenkins在创建项目中提供了很多功能供我们选择,这里我将对配置项目做一个较完整的介绍Jenkins配置项目0、所有…...
C++多继承,虚继承部分总结与示例
tags: C OOP 写在前面 写一下多继承, 虚继承的一些部分, 包括一些例子. 多继承 简介 多继承是指从多个直接基类中产生派生类的能力. 多继承的派生类继承了所有父类的属性, 所以会带来一些复杂的问题. 示例1: 多继承用法与调用顺序 #include <string> #include <…...
程序员35岁以后就没有出路了吗?听听京东10年测开的分析
国内的互联网行业发展较快,所以造成了技术研发类员工工作强度比较大,同时技术的快速更新又需要员工不断的学习新的技术。因此淘汰率也比较高,超过35岁的基层研发类员工,往往因为家庭原因、身体原因,比较难以跟得上工作…...
数据结构(六):冒泡排序、选择排序、插入排序、希尔排序、快速排序
数据结构(六)一、大O表示法二、冒泡排序三、选择排序一、大O表示法 在计算机中采用粗略的度量来描述计算机算法的效率,这种方法被称为“大O”表示法。 我们判断一个算法的效率,不能只凭着算法运行的速度,因为随着数据…...
C++之类与对象(上)
目录 一、类的定义 二.类的访问限定及封装 1.访问限定 2.封装 三.类的作用域和实例化 2.类的实例化 四.类的对象大小的计算 1.类成员存储方式 2.结构体内存对齐规则 五.类成员函数的this指针 1.this指针的引出 2.this指针的特性 3.C语言和C实现Stack的对比 一、类的定义 class …...
Java岗面试题--Java并发 计算机网络(日积月累,每日三题)
目录1. 面试题一:在 Java 程序中怎么保证多线程的运行安全?1.1 追问一:Java 线程同步的几种方法?2. 面试题二:JMM3. 面试题三:计算机网络的各层协议及作用?1. 面试题一:在 Java 程序…...
三菱FX3U与威纶MT8071IP走RS422通讯
一、准备工作 1.需要工具: 电脑一台、PLC:三菱FX3U一个、触摸屏:威纶MT8071一个、 (三菱圆形编程口转USB)一根、触摸屏与电脑通讯线一根(T型口数据线)、PLC与触摸屏通讯线:电烙…...
给想考CISP的一点建议
如果你正在考虑参加CISP认证考试,以下是我对你的几点建议: 了解CISP考试: 在报名参加考试之前,要充分了解CISP认证考试的考试内容、考试形式、考试难度等相关信息,这有助于你制定更有效的备考计划。制定备考计划&…...
ACM 记忆化搜索
一.记忆化搜索概述 1.概念 搜索是一种简单有效但是效率又很低下的算法结构,其低效的原因主要在于存在很多重叠子问题。而记忆化搜索则是在搜索的基础上,利用数组来记录已经计算出来的重叠子问题状态,进行合理化的剪枝,从而降低时…...
spring框架常用注解简单说明
1、Configuration:标注在类上,相当于把当前类作为spring的xml配置文件中的; 2、Bean:标注在方法上,相当于spring配置文件中的; 3、Service:标注在类上,表明当前类是一个服务层的Be…...
2023-02-24 mysql/innodb-聚合-临时表避免OOM-使用磁盘文件-分析
摘要: mysql/innodb在执行聚合时, 当聚合的数据量太大时, 也就是临时表的大小超过tmp_table_size 限制时, 将进行写磁盘操作, 以避免OOM。 本文记录聚合数据写磁盘的操作。 参考: https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_tmp_table_…...
cracklib与libpwquality 评估密码的安全性
一、cracklib 检测密码强弱linux中采用pam pam_cracklib module来实现对密码强度的检测,可以通过配置让linux系统自动检测用户的密码是否为弱密码。yuminstall cracklib # centos apt-get install libcrack2 # ubuntu # 如果需要依赖此库做开发的话需要安装这个 y…...
【Java】保证并发安全的三大特性
一、并发编程三大特性的定义和由来 并发编程这三大特性就是为了在多个线程交替执行任务的过程中保证线程安全性。 二、为什么会出现线程不安全的现象呢? 接下来我们从这三个特性切入来介绍线程不安全的原因。 1.原子性: 一组操作要么全部执行&#…...
如何优雅的用golang封装配置项(Functional Options)
导读 最近要封装一个公共服务,涉及到配置项的地方总是找不到合理的方案,后来看了一下grpc在配置方面的封装,了解到原来是golang特有的Functional Options编程模式,今天分享给大家,希望你能用到,咱们直接来看…...
Springboot 使用thymeleaf 服务器无法加载resources中的静态资源异常处理
目录一、异常错误二、原因三、解决方法方法1. 将无法编译的静态资源放入可编译目录下方法2. 重新编译项目加载资源方法3. 修改pom.xml资源配置文件方法4. 不连接远程数据库启动,使用本地数据库一、异常错误 Springboot使用thymeleaf,并连接远程数据库启…...
服务端IOS订阅类型支付接入详细说明与注意事项
一、说明 由于本人在开发ios订阅类型支付接入的时候,遇到了很多坑,也查了不少资料,逐步完善了整个ios订阅支付服务端接入的功能,在这里写下总结和一些注意事项的记录,方便未来需要重新接入或者避免一些不必要的坑,这里…...
【剑指Offer】重建二叉树(递归+迭代)
重建二叉树一、递归法二、迭代法题目链接 题目描述: 输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。 假设输入的前序遍历和中序遍历的结果中都不含重复的数字。 示例 1: Input: preorder [3,9,20,15,7], inorder [9,3,15,…...
注解@Transactional 原理和常见的坑
这篇文章,会先讲述 Transactional 的 4 种不生效的 Case,然后再通过源码解读,分析 Transactional 的执行原理,以及部分 Case 不生效的真正原因1 项目准备下面是 DB 数据和 DB 操作接口:uidunameusex1张三女2陈恒男3楼仔…...
2023年全国最新交安安全员精选真题及答案4
百分百题库提供交安安全员考试试题、交安安全员考试预测题、交安安全员考试真题、交安安全员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 31.特种劳动防护用品必须具有“三证”,下列不属于“三证”的是&#…...
扬帆优配|半天翻倍,“蹭热点”翻车,前期“牛股”已近腰斩
周五上午,A股商场整体走低,多数职业板块和个股跌落,军工和核算机等板块逆势上涨,北向资金半天净卖出额约38亿元。 个股方面,昨夜公告被证监会立案查询的奥联电子股价再度大跌,盘中最贱价较近期高位已腰斩。…...
C++_核心编程_多态案例二-制作饮品
#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为:煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例,提供抽象制作饮品基类,提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...
DeepSeek 赋能智慧能源:微电网优化调度的智能革新路径
目录 一、智慧能源微电网优化调度概述1.1 智慧能源微电网概念1.2 优化调度的重要性1.3 目前面临的挑战 二、DeepSeek 技术探秘2.1 DeepSeek 技术原理2.2 DeepSeek 独特优势2.3 DeepSeek 在 AI 领域地位 三、DeepSeek 在微电网优化调度中的应用剖析3.1 数据处理与分析3.2 预测与…...
FFmpeg 低延迟同屏方案
引言 在实时互动需求激增的当下,无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作,还是游戏直播的画面实时传输,低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架,凭借其灵活的编解码、数据…...
STM32+rt-thread判断是否联网
一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...
ffmpeg(四):滤镜命令
FFmpeg 的滤镜命令是用于音视频处理中的强大工具,可以完成剪裁、缩放、加水印、调色、合成、旋转、模糊、叠加字幕等复杂的操作。其核心语法格式一般如下: ffmpeg -i input.mp4 -vf "滤镜参数" output.mp4或者带音频滤镜: ffmpeg…...
GitHub 趋势日报 (2025年06月08日)
📊 由 TrendForge 系统生成 | 🌐 https://trendforge.devlive.org/ 🌐 本日报中的项目描述已自动翻译为中文 📈 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...
【python异步多线程】异步多线程爬虫代码示例
claude生成的python多线程、异步代码示例,模拟20个网页的爬取,每个网页假设要0.5-2秒完成。 代码 Python多线程爬虫教程 核心概念 多线程:允许程序同时执行多个任务,提高IO密集型任务(如网络请求)的效率…...
聊一聊接口测试的意义有哪些?
目录 一、隔离性 & 早期测试 二、保障系统集成质量 三、验证业务逻辑的核心层 四、提升测试效率与覆盖度 五、系统稳定性的守护者 六、驱动团队协作与契约管理 七、性能与扩展性的前置评估 八、持续交付的核心支撑 接口测试的意义可以从四个维度展开,首…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
