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亿元。 个股方面,昨夜公告被证监会立案查询的奥联电子股价再度大跌,盘中最贱价较近期高位已腰斩。…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
Linux nano命令的基本使用
参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时,显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...
解析两阶段提交与三阶段提交的核心差异及MySQL实现方案
引言 在分布式系统的事务处理中,如何保障跨节点数据操作的一致性始终是核心挑战。经典的两阶段提交协议(2PC)通过准备阶段与提交阶段的协调机制,以同步决策模式确保事务原子性。其改进版本三阶段提交协议(3PC…...
Windows电脑能装鸿蒙吗_Windows电脑体验鸿蒙电脑操作系统教程
鸿蒙电脑版操作系统来了,很多小伙伴想体验鸿蒙电脑版操作系统,可惜,鸿蒙系统并不支持你正在使用的传统的电脑来安装。不过可以通过可以使用华为官方提供的虚拟机,来体验大家心心念念的鸿蒙系统啦!注意:虚拟…...
【若依】框架项目部署笔记
参考【SpringBoot】【Vue】项目部署_no main manifest attribute, in springboot-0.0.1-sn-CSDN博客 多一个redis安装 准备工作: 压缩包下载:http://download.redis.io/releases 1. 上传压缩包,并进入压缩包所在目录,解压到目标…...
