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亿元。 个股方面,昨夜公告被证监会立案查询的奥联电子股价再度大跌,盘中最贱价较近期高位已腰斩。…...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
在rocky linux 9.5上在线安装 docker
前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
EtherNet/IP转DeviceNet协议网关详解
一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...
跨平台商品数据接口的标准化与规范化发展路径:淘宝京东拼多多的最新实践
在电商行业蓬勃发展的当下,多平台运营已成为众多商家的必然选择。然而,不同电商平台在商品数据接口方面存在差异,导致商家在跨平台运营时面临诸多挑战,如数据对接困难、运营效率低下、用户体验不一致等。跨平台商品数据接口的标准…...
