java 设置jenkins的自动构建和周期构建

Python 解析 Jenkins 自动化构建与测试 Jenkins 是一个基于 Java 的开源工具,用于自动化软件项目的构建、测试和部署。它通过插件系统扩展功能,支持多种版本控制系统(如 Git、SVN),并能够触发构建任务、生成报告、发送通知等。Jenkins 提供了一个友好的 Web 界面,方便用户配置和监控项目状态。本文介绍了如何使用 Python 脚本解析 Jenkins 的自动化构建与测试流程。通过 JenkinsAPI 和正则表达式,我们可以轻松获取和处理构建信息,从而提升工作效率。 阅读详情

一、设置
1. 引入jenkins-client

<!-- https://mvnrepository.com/artifact/com.offbytwo.jenkins/jenkins-client -->
<dependency>
    <groupId>com.offbytwo.jenkins</groupId>
    <artifactId>jenkins-client</artifactId>
    <version>0.3.6</version>
</dependency>

2. 设置jenkins的xml,jenkins的每个job都可以通过设置它的xml实现配置;
如果不知道如何写xml的内容,可以在jenkins上配置一个job,然后通过JenkinsServer的getJobXml得到xml内容。
例:jenkins新建的job,jenkins地址JENKINSIP,用户名USER,密码PASSWORD,新建的job名为test
	JenkinsServer jenkins = new JenkinsServer(new URI(JENKINS_IP), USER, PASSWORD);
	String jobXml = jenkins.getJobXml("test");
	得到的是字符串,转化成xml格式,就可以看到各个节点的具体设置了
	然后根据自己的需要,生成自己的xml,比如叫newXml,再转成字符串,调用
	jenkins.updateJob("test", newXml, false);
	构建对应的job 
	去掉"防止跨站点请求伪造",否则会报No valid crumb was included in the request异常
	jenkins.getJob("test").build();

周期构建的xml,节点改成自己的周期表达式即可,以每8小时构建一次为例:

<spec>H H/8 * * *</spec>

自动构建的xml, 节点设置成自己的,可以都用同一个,例:

<secretToken>{AQAAABAAAAAw9ZEFoOiBiDc2XSA511FY5OadXyEs8ie1Cnev87JYsa1sejHizS8BenZtAoTDjaCU/Agh674l0jCPMBwmJxxtPg==}</secretToken>

这两种xml都有共同的节点<definition><script></script></definition>
这里面设置的是脚本信息,即下图中空白地方的内容:
在这里插入图片描述

二、注意的问题

1.我在调用String jobXml = jenkins.getJobXml(“test”); 遇到了节点转义的问题,具体就是< 变成了转义字符< ,>变成了>
在代码里又用replaceAll()全部替换了一遍,具体原因不太清楚
2.自动构建的时候,有一个节点
这个存的是编码以后的,具体什么编码没测试出来,这个可以用同一个secretToken,通过jenkins页面上可以生成,如图
在这里插入图片描述

  1. 一般jenkins是要跟git集成,这个secretToken需要存到对应的gitlab或者github上,如果也需要通过代码解决,可以看我另一篇博文
    https://blog.youkuaiyun.com/HelloJavaE2/article/details/90265382
Jenkins安装及自动部署Maven项目 一、环境配置 OS版本 [root@VM_0_11_centos /]# rpm -qa | grep centos-release centos-release-7-4.1708.el7.centos.x86_64 Java版本 [root@VM_0_11_centos /]# java -version openjdk version &quot;1.8.0_181&quot; OpenJ... 阅读详情

相关推荐

Java中Jenkins的应用简介

Jenkins是一个用于自动化构建、测试和部署软件项目的开源持续集成(CI)工具。它通过构建和测试代码的自动化过程,帮助开发团队提高效率、降低风险,并加速软件交付周期。

私聊前往站内信:https://i.youkuaiyun.com/#/msg/chat/weixin_44976692 2万+

谈谈jenkins:config.xml文件解读(三)

1. 可执行进程数<numExecutors>5</numExecutors> 2. 角色和角色权限 3.视图列表 <?xml version='1.1' encoding='UTF-8'?> <hudson> <disabledAdministrativeMonitors/> <version>2.187</v...

hacker_Lees的博客 4255

【Lane】 Ultra-Fast-Lane-Detection 复现

引言 车道线检测源码复现以及训练自己的数据集 1 环境搭建 conda create -n lane python=3.7 conda activate lane # 激活环境 conda install pytorch torchvision cudatoolkit=10.1 -c pytorch pip install -r requirements.txt 2 下载项目源码 若在服务器上可以用指令下载,否则直接在网址中下载 git clone https://github.com/cfzd/U

qq_44703886的博客 2万+

程序化生成 jenkins config.xml

因为最近项目需求写了一个用来生成构建jenkins job的工具包 使用这个工具包可以根据需求定制化生成config.xml,然后可以调用jenkins api程序化生成job 及构建job github地址 使用maven 可以直接在pom.xml文件中引入如下依赖 <dependency> <groupId>com.github.csxiaosha...

牛肉干的博客 1774

Win10+Anaconda环境下PaddleOCR保姆级安装指南(附常见报错解决方案)

本文提供Win10+Anaconda环境下PaddleOCR的保姆级安装指南,涵盖从环境配置到模型部署的全流程,特别针对常见报错提供解决方案。通过详细的步骤说明和实用技巧,帮助开发者快速完成PaddleOCR安装与测试,避免常见陷阱,提升OCR开发效率。

weixin_29096377的博客 375

一文详解AUTOSAR COM ComSignal结构体

ComSignalLength指定信号的长度,以字节为单位,影响数据的解析范围和精度。比如车速信号若为UINT16类型,ComSignalLength=16。这里需要注意必须ComSignalLength与ComSignalType匹配(比如FLOAT32类型需配置ComSignalLength=32),超出实际物理值范围时需配置缩放(Scaling)参数。ComSignalType定义信号的物理数据类型,决定如何解析原始字节数据。

menghuyouyou的博客 942

jenkins config.xml 生成 jenkins job

在工作中需要恢复删除的jenkins job,但是备份的是config.xml 文件,查找了许多方法,才发现原来jenkins 就自带这个方法 在系统管理中,有jenkins CLI 选择,然后会发现有个 create-job Creates a new job by reading stdin as a configuration XML file. 点开之后出现以下命令提示 jav...

杜继恒的博客 7507

Pixel 6 Pro升级Android 13变砖急救指南:Fastboot全分区修复实战

本文提供Pixel 6 Pro升级Android 13变砖后的Fastboot全分区修复实战指南,详细解析变砖原因、必备工具准备、Fastboot模式解锁、全分区擦除操作及手动刷入官方ROM的完整流程,帮助用户高效解决设备变砖问题。

weixin_28693447的博客 485

解析xml文件,修改Jenkins的配置

最近因为服务器移动,在Jenkins中配置的一些地址之类的,都要改变,如图,我因为使用插件Sidebar Links增加一个链接地址,现在地址变了,所以在Jenkins中配置就需要改动link url的地址,如图: 要改变成地址为:192.168.11.11,因为Jenkins的文件配置都是xml文件,我读取对应的xml文件,把文件内容进行更改在重写xml文件,xml文件如下。因为...

weixin_30302609的博客 552

手把手教你用CsvView分析大疆无人机飞行日志(附实战CTF题解)

本文详细介绍了如何使用CsvView工具分析大疆无人机飞行日志,包括环境搭建、日志提取、核心功能解析及CTF实战技巧。通过实战案例,帮助读者掌握无人机取证的关键技术,提升日志分析能力,特别适合网络安全竞赛和实际取证场景。

weixin_42652674的博客 455

Linux系统安装部署Redis完整教程(图文详解)

最近需要在Linux服务器安装部署Redis,参考了网上很多的文章,比较零碎,所以我自己写了一篇完整的Redis安装部署文档,在部署Redis之前重装了我的华为服务器,就是为了给大家一步步阐述我的操作过程,配合图文进行讲解更加通俗易懂!

黄团团的个人博客 6690

Java 操作Jenkins

Java 操作Jenkins

wan8520的专栏 1061

语言大模型之Tokenization的深入理解

Tokenization(分词)是自然语言处理(NLP)中一个非常重要的步骤,它的目标是将文本转换为模型可以理解的格式。对于像GPT、BERT等大型预训练模型来说,tokenization决定了文本如何转化为数字表示,从而影响模型在不同任务中的表现。接下来我会深入介绍tokenization的过程、不同的tokenization方法,以及它与模型微调(fine-tuning)之间的关系。

JustinMars的博客 338

maven项目怎么部署到tomcat的webapps_基于windows系统安装部署Maven项目及使用说明

概述最近帮测试组那边弄一下jenkins,把生产线也配置一下自动发布,因为都是maven项目,所以这里把安装maven的过程先记录一下。什么是maven,有什么用?Maven是一个项目构建和管理的工具,其主要服务于基于java平台的项目构建、依赖管理和项目信息管理。它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期Project Lifecycl...

weixin_39878989的博客 283

YOLOv8改进,YOLOv8主干网络替换为FasterNet(全网独发手把手教学,助力涨点)

FasterNet的整体架构由四个分层阶段组成,每个阶段包含一组FasterNet模块,并在前面加一个嵌入或合并层。最后三层用于特征分类。每个FasterNet模块内部,一个PConv层后跟两个PWConv层,为了保持特征多样性并降低延迟,归一化和激活层仅在中间层之后进行,其中,PConv 是一种快速高效的卷积操作,通过仅对部分输入通道应用卷积滤波器,而保持其余通道不变,从而减少了计算量和内存访问。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2015

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Jenkins+Gitee 的Java项目提交自动部署

Jenkins+Gitee项目提交自动部署(Java),项目提交gitee后自动进行linux部署,简化操作的实用经验。

zhenlanxiao20的博客 4263

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

如何通过Jenkins进行自动化构建项目

Pipeline(流水线项目):这个选项允许用户创建一个Jenkins Pipeline,在Pipeline中定义了一系列流程和任务,可以自动化构建、测试、打包、发布和部署过程。Freestyle project(自由风格项目):这个选项允许用户创建一个自定义的项目,可以执行任何任务,无论是构建、测试、部署还是其他工作。新建Item,输入工程的名称(例如 My Pipeline) ,选择多分支流水线(Multibranch Pipeline),确定。配置构建的具体步骤,如编译、打包、测试等。

格物致知的专栏 [音视频编解码 网络协议 计算机视觉 计算机图形学 图像理解 语音识别 机器学习 模拟电路 传感器] 946

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

基于Jenkins自动构建项目——安装Jenkins(一)

基于Centos7安装Jenkins来实现自动构建项目。参考Jenkins官网,Jenkins版本:2.440.2。以上就是针对Jenkins的初始化安装。

qq_44896640的博客 1165

【Jenkins】Jenkins自动化工具介绍

Jenkins自动化工具介绍

低调做人,低调编码,神码都是浮云 2168

Yii 2 升级完全指南:从 1.1 迁移到 2.0 的核心差异与实战要点

Yii 2.0 是一次对框架的完全重写,它与 1.1 之间的差异远大于普通的小版本升级。本文以 Yii 官方升级指南(波兰语版 `docs/guide-pl/intro-upgrade-from-v1.md`)为骨架,系统梳理从 1.1 迁往 2.0 时遇到的最大差异——命名空间、组件模型、对象配置、事件、视图、模型、Active Record、资源包、URL 管理等——并结合当前仓库中 [fra

gitblog_00610的博客 651

2❤️Jenkins从零到壹❤️ :第一个maven构建项目(JAVA 小虚竹)

2Jenkins入门:第一个maven构建项目(JAVA java 小虚竹)

小虚竹的专栏 2万+

云原生 DevOps 实战之Jenkins+Gitee+Harbor+Kubernetes 构建自动化部署体系

本文详细介绍了基于Jenkins、Gitee、Harbor与Kubernetes工具链构建企业级容器化CI/CD流水线的全流程实践。方案以Jenkins为核心调度工具,联动Gitee代码托管、Harbor容器镜像仓库与Kubernetes容器编排平台,实现从代码提交、镜像构建、镜像推送至容器部署的全链路自动化。

成为一个内心平静的人,要多久 2597

手把手教你用 Jenkins 自动部署 SpringBoot

CI/CD 是一种通过在应用开发阶段引入自动化来频繁向客户交付应用的方法。持续集成持续交付持续部署CI/CD 主要针对在集成新代码时所引发的问题(俗称"集成地狱")。为什么会有集成地狱这个“雅称”呢?大家想想我们一个项目部署的过程,拉取代码->构建->测试->打包->部署,如果我们经常需要部署项目,特别是在微服务时代,服务特别多的情况下,不停的测试打包部署,那估计得有个人一整天专门做这事了,而这事又是繁琐的重复无意义的。...

江南一点雨的专栏 7648
上一篇: java 调用Gitlab API添加webhook
下一篇: maven 引入自定义jar包,并外置配置文件
HelloJavaE2
博客等级 码龄11年 10粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值