jenkins搭建和使用_(17)

news/2024/11/28 6:45:56/文章来源:https://www.cnblogs.com/weiyus1916/p/18570854

Jenkins操作手册

===================================================================
一、jenkins介绍
1、持续集成(CI) Continuous integration 持续集成 团队开发成员每天都有集成他们的工作,通过每个成员每天至少集成一次,也就意味着一天有可 能多次集成。在工作中我们引入持续集成,通过持续集成自动构建(代码的编译、发布、部署、 用例的更新和自动化执行),从而达到尽早发现代码集成的错误。

例如:一个项目有a,b,c ;任何一个改动代码,都要去集成;

2、在没有持续集成时,开发的模式是:
第一步:项目一开始划分模块,将模块分配给对应的开发
第二步:开发对自己所负责的模块进行开发以及对应后期的单元测试
第三步:等所有模块开发完成后,由项目老大(开发负责人)对所有模块的代码进行集成
第四步:将集成好的代码部署到环境上,交由测试人员进行集成测试
第五步:测试过程中发现bug,测试人员提交bug并进行记录
第六步:对应的开发人员进行bug修复
第七步:等所有开发人员将bug修复好,再进行代码集成,交给测试进行回归测试 这样我们会陷入一个循环:修改bug­­­­集成代码­­­部署测试的循环中
缺陷: a.bug永远都是在最后才发现,不能及时发现。 b.这样的话测试效率低,使得交付效率质量差。

3、用Jenkins做持续集成的目的:及时发现bug,提高效率

4、持续集成的优点:
1)统一的代码库
2)自动部署和构建
3)自动测试
4)保证项目的交付质量

5、用什么实现持续集成?

使用Jenkins工具能帮我们实现持续集成

6、什么是Jenkins?

是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

7、Jenkins有哪些功能

1)持续的软件版本发布/测试项目。
2)监控外部调用执行的工作。

8、Jenkins拥有的特性包括:
1)易于安装­只要把jenkins.war部署到servlet容器,不需要数据库支持。
2)易于配置­所有配置都是通过其提供的web界面实现。
3)集成RSS/E­mail通过RSS发布构建结果或当构建完成时通过e­mail通知。
4)生成JUnit/TestNG测试报告。
5)分布式构建支持Jenkins能够让多台计算机一起构建/测试。
6)文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
7)插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。
Jenkins的主要目标是监控软件开发流程,快速显示问题。所以能保证开发人员以及相关人员省时省力提高开发效率。

8、Jenkins中的节点?
一个节点是一个代理服务器。建议使用字母、数字或字母和数字的组合。
最好见名知意。不建议 使用标点符号和中文(中文命名没有问题,但Job中无法引用)

==================================================================

二、Jenkins环境搭建(linux中)
1、需要的应用软件如下:
JDK1.8 最好安装1.8的:
查看jdk是否安装好

(1)上传jdk包

@--

查看jdk版本

Jenkins.war包

2、安装JDK (jdk­8u60­windows­x64.exe) 把JDK放入G盘,双击jdk­8u60­windows­x64,安装路径放入为G:\java(默认路径)
设置环境变量:在桌面进入计算机右键点击属性­高级系统配置­环境变量­点击新建(新建之前把 环境变量里面之前的JAVA_HOME,CLASSPATH全部删掉,假如没有的话就新建)

(1)新建­>变量名"JAVA_HOME",变量值:G:\java(具体看自己的java安装的路径)

(2)编辑­>变量名"Path",在原变量值的最后面加
上:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin (3)新建­>变量名"CLASSPATH",变量
值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(注 意冒号前面有个"."一定要加上)
*验证变量设置的正确性,win+r,输入java,javac 出现如下图:JDK安装成功;

二、上传服务器tomcat

解压tomcat

启动服务器:

输入ip+端口号,查看服务器正常打开

三、linux环境上搭建jenkins

第一步:把本地jenkins.war包存放到tomcat路径下apache­tomcat­7.0.56/webapps

第二步:启动tomcat,启动后jenkins.war包会自动解压,生成一个jenkins目录

第三步:浏览器地址栏中输入IP地址+8080端 口/jenkins(http://192.168.157.129:8080/jenkins),正常打开jenkins应用页面 如果页面报错要关闭防火墙:service iptables stop
页面显示如下:

这段话翻译过后大概的意思就是:
Jenkins管理员密码已经写入服务器/root/.jenkins/secrets/initialAdminPassword 文件中, 复制密码粘贴到下面的文本框中。
讲解下:/root 路径就是 cd ~
cat /root/.jenkins/secrets/initialAdminPassword

密码: 41ec6d8ca3d04ec9a6b8c9d1b4b1d580
第四步:在linux环境中输入命令: cat /root/.jenkins/secrets/initialAdminPassword ,复 制密码 到文本框中,点击continue
复制:密码:41ec6d8ca3d04ec9a6b8c9d1b4b1d580

以上是登录密码;

第五步:点击安装建议性插件

点击【跳过插件安装】

第六步:输入以后登录jenkins的用户名,密码­­>然后点击保存并完成

实例配置:点击保存

最后,当你看到这个页面,说明jenkins已经安装好了

如果界面显示英文可以翻译为中文:谷歌浏览器右上角点击如下图标志 选择翻译

第七步:Jenkins修改密码
方法(1):

1.点击页面右上角用户名

2.点击设置

3、输入修改密码

4.修改密码,点击应用,保存。

账号:admin
修改密码为:123456789

4.重启jenkins

在浏览器地址中输入:http://192.168.153.131:8080/jenkins/restart ­­地址以自己的IP地 址为准
(添加restart)jenkins重启

重启后,可以用新密码登录。

第八步:如果出现其他异常需要重新安装jenkins环境的步骤如下:(如果Jenkins启动正常请忽 略以下操作)
第一步:rm ­rf /root/.jenkins ­­清空所有数据
第二步:webapps中删除Jenkins目录 重启tomcat
第三步:一切按照上面的步骤操作

注意点:依赖包出错不用管

===================================================================

四、jenkins添加节点
第一步:首页点击系统管理——》管理节点——》新建节点
(注意点:(先设置全局安全配置))

@--

第二步:输入节点名称,勾选固定代理

第三步:输入节点的具体信息,这里需要注意的是启动方法,启动方法没有java web请往下看

名字:唯一标识一个代理,通常使用代理主机名
描述:代理的cpu内核,内存使用情况描述。 执行者数量:控制并发构建数量 远程工作目录:一个代理有一个专门的jenkins目录
标签:对多节点分组,代理标签,工程标签相同,说明这个工程在这个代理上运行。 用法:默认选择尽可能使用这个节点
启动方法:默认选择通过java web启动代理 (全局安全中设置)

注意点:(先设置全局安全配置)
在选择启动方法中,如果没有java web 启动代理选项,那么就需要进行如下配置 第一步:点击系统管理,选择全局安全配置

第四步:勾选启用安全

第五步:代理中选额随机选取,代理协议都进行勾选

第六步:选择应用,保存­­>然后点击test_vm

@--

@--

填写标签名

jar包就是代码 类和工具函数
注意:( 将agent 放到d:jenkens下)

出现如下的信息:说明代理服务器没有连接jenkins

节点可以理解为一个代理,一台服务器。Jenkins是一个ci(持续集成)平台,每个代理 服务器要与jenkins进行集成,需要执行java ­jar ,后面是代理服务器Ip地址,通过这条 命令,执行成功说明代理已集成在ci平台

将代理连接jenkins方法: 从代理命令行运行
第一步:下载agent.jar文件 ,保存在本地D:\ls\jenkins1

@--

第二步:在dos中G:\jenkins目录下执行命令(要到我们下载的包的文件下)
java ­jar agent.jar ­jnlpUrl http://192.168.23.129:8080/jenkins/computer/test_vm/slave­agent.jnlp ­secret 50027f0935559679aeb8ba30adca6e16fed937199e37a95c352984235a3400be ­ workDir “G:\jenkins”

注意:把以上的复制到dos下执行

这里需要注意的是:根据自己的jenkins页面内容copy,再执行

执行之后,看到Agent discovery successful 和connected 说明代理连接jenkins成功

成功jenkins首页显示,代理电脑右下方红色叉叉消失,并且显示代理服务器详细信息

以上表示节点已经配好;

配置好标签:后面可以用来来连接节点

==============================================================

构建项目:

五、Jenkins构建项目:
第一步:首页,点击开始创建一个新任务输入一个项目名称,选择构建一个自由风格的软件项 目,最后确定

举例:名称:test1

输入项目名称

第二步:输入项目具体配置

项目名称:自定义

限制可以运行该项目的位置:输入标签,标签为代理的标签(指定项目在哪个代理机上执行)

或者

3.构建:点击增加构建步骤 ,选择执行windows批处理命令

python+绝对路径

填写绝对路径:

python C:\Users\Administrator.USER-20231114RR\PycharmProjects\zdhkj\api\ss.py
5.点击保存­­>然后点击立即构建­­>构建完成之后点击#2­­>点击控制台输出就可以看到相关的 日志了

复制报告地址在浏览器输入: G:\jenkins\workspace\auto_test\report.html

6.如果出现下面的错误(没有没有出现就忽略):

那么就给项目添加一个工作空间,如果系统自动选择工作空间是master,那么就进行修改

也可以使用自己自定义的工作空间,就是工作空间与代理服务器工作空间不同的时候

可以自定义工作空间

如果出现如下报错:
hudson.AbortException: No files found in path G:\jenkins\output\auto_test with configured filemask: output.xml 就需要把工作空间和日志输出路径都改为G:\jenkins就可以了。

7.构建触发器(设置定时任务) Build periodically 在日程表中设置
触发器是用于控制自动化测试执行时间的 日程表里有5个数字,分别为:
H * * * *
第一个* 表示: 分钟:0­—59
第二个* 表示: 小时:0­–23
第三个* 表示 :日1­—31
第四个* 表示 :月 1­—12
第五个* 表示 周:0–­7 0和7都代表星期天

H 表示随机

  • 表示所有
  • 表示连续
    / 表示间隔
    , 表示和
    M-N 指定一个范围值

例如: 每2分钟执行一次 H/2 * * * * (注意:要空一格,H/2 每隔两分钟,第二个* 任何时 ,第三个* 表示任何日,第四个* 表示任何的月,第五个* 表示任意周 )

工作日每2分钟执行一次 H/2 * * * 1-5

工作日每隔2小时执行一次 H H/2 * * 1-5

每天8至点­16点,每1小时执行一次 H 8-­16/1 * * *

每前半小时中,间隔10分钟 H/(0-30)/10 * * * *

每个工作日从早上9:45分钟到下午3:45分中结束这段时间内,每间隔2小时的45分钟那一刻。45 9-152 * * 1-5

每个工作日从早上9:00 到下午5:00 这段时间内每间隔2小时的的某刻;

H (9-17)/2 * * 1-5

==============================================

拓展:

jenkins +git 拉取代码

jenkins+svn 拉取代码

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Notepad++ 使用技巧

下载 Notepad++ 打开浏览器,前往 Notepad++ 的官方网站:Notepad++点我下载 常用快捷键 以下是一些常用的 Notepad++ 快捷键: Ctrl + N:新建一个文件 Ctrl + O:打开一个文件 Ctrl + S:保存当前文件 Ctrl + Shift + S:另存为 Ctrl + P:打印文件 Ctrl + Z:撤销上一步操作…

LeetCode 367[有效的完全平方数]

LeetCode 367[有效的完全平方数]题目 链接 LeetCode 367[有效的完全平方数] 详情实例提示题解 思路 求算术平方根,逐渐遍历的话,数值小应该是没问题的,但是数值大的话时间应该会超出限制 本质是:给定一个数字,在范围内找一个数字的平方为该数,找到了则输出ture,找不到则…

使用 Visual Studio Code 写网页

1、Visual Studio Code双击打开后 ,点击圈主的部分(资源管理器) 会出现 “打开文件夹” 2、点击 “打开文件夹” ,选中想要打开的文件夹 ,点击选择文件 也可以直接拖拽 想要打开的 文件夹 放进来3、可以看道文件夹里面的东西都进来了 之前我们写的 网页 代码 也在这里 可…

WPF 粉笔绘制

在做白板书写的时候,会有各种笔的绘制,比如 书写笔、马克笔、演示笔等等。粉笔的功能需求也是很有必要的。 上网搜了一圈,几乎没有绘制粉笔的。 有的是毛笔、楷体等绘制的如下博客: wpf inkcanvas customink 毛笔效果_wpf inkcanvas 笔锋-CSDN博客 【WPF】 InkCanvas 书写毛…

鸿蒙NEXT开发案例:温度转换

【引言】 温度是日常生活中常见的物理量,但不同国家和地区可能使用不同的温度单位,如摄氏度(Celsius)、华氏度(Fahrenheit)、开尔文(Kelvin)、兰氏度(Rankine)和列氏度(Reaumur)。为了方便用户在这些温度单位之间进行快速准确的转换,我们开发了一款温度转换工具。…

团队项目-7

一、昨日已完成的任务 前后端交互,调用接口完成页面。导入数据等 今日计划完成的任务 继续做好功能,测试运行 工作中遇到的困难 测试运行时出现不少问题,服务器连不上等问题 项目迁入记录代码:总结 一周的学习收获良多,项目实战难度大的同时也给了我们很多动力,是一次珍贵…

windows安全中心,永久卸载工具

使用方法 2024Goby红队版工具分享,附2024年漏洞POC下载 下载链接: https://pan.quark.cn/s/4fc2712a2afc一路回车,选项Y即可耐心等待几秒种,自动重启此时打开windows安全中心,已经完全不能使用了,响应的杀毒功能也关了往期推荐 【渗透测试】DC1~9(全) Linux提权靶机渗透教…

团队项目-6

一、昨日已完成的任务 学习有关springboot,vue等前后端知识,完善数据库和底层框架,学习有关知识,继续做功能接口。今日计划完成的任务 前后端交互,调用接口完成页面。导入数据等 工作中遇到的困难 目前调用接口出现问题,接口有些错误 代码迁入记录项目模块与代码总结 时间…

CTF学习(18)MISC(面具下的flag)

1.解压文件后发现是.wav格式的文件--->使用audacity打开后发现存在摩斯电码摩斯电码: ..... -... -.-. ----. ..--- ..... -.... ....- ----. -.-. -... ----- .---- ---.. ---.. ..-. ..... ..--- . -.... .---- --... -.. --... ----- ----. ..--- ----. .---- ----. .---…

composer引入本地自己开发的php扩展包

开发自己的php扩展包 一、创建扩展包目录结构 1. 创建目录hoo-tool,在目录下创建目录 src 2. 在hoo-tool 目录下 运行命令:composer init3. 运行完命令的效果{"name": "hoo/tool","description": "hoo Tool kit for PHP","type…

博客园 geek 主题备份

预览页面定制 CSS 代码禁用模板默认CSS#loading{bottom:0;left:0;position:fixed;right:0;top:0;z-index:9999;background-color:#f4f5f5;pointer-events:none;}.loader-inner{will-change:transform;width:40px;height:40px;position:absolute;top:50%;left:50%;margin:-20px …

【cesium重新梳理】1.cesium知识整理

之前零零碎碎学过、用过cesium,但也没做记录,现在重新整理一下,方便学习回顾。 1.cesium简介 CesiumJS是一个开源JavaScript库,用于创建具有最佳性能、精度、视觉质量和易用性的世界级3D地球仪和地图。从航空航天到智能城市再到无人机,各行各业的开发人员都使用CesiumJS创…