测试工具(四)Jenkins环境搭建与使用

测试工具(一)Fiddler安装及使用
测试工具(二)Git环境搭建-Windows版
测试工具(三)Git常用命令
测试工具(四)Jenkins环境搭建与使用



一、Jenkins简介

Jenkins 是⼀个独⽴的开源⾃动化服务器,可用于自动化与构建、测试、交付或部署软件相关的各种任务。

二、Jenkins安装

官网地址:https://www.jenkins.io/zh/,点击下载进入下载页,直接点击下载war包
在这里插入图片描述
在这里插入图片描述

三、Jenkins部署

下载好war包后,新建终端运行war包java -jar <本地war包的路径>
在这里插入图片描述
第⼀次构建的话,Jenkins会⽣成⼀个⼯作目录,也就是你构建的Jenkins服务其本质上是⼯作⽬录⾥⾯的多份文件在提供服务;
你的⼯作⽬录的位置可以在cmd 或者终端中搜索: Jenkins home directory 可以看到,比如下图中,我的⼯作目录就是/Users/xxxx/.jenkins。
在这里插入图片描述
同样的如果你是第⼀次构建,可以在cmd或者终端中搜索 initialAdminPassword 则能找到你的admin的初始密码
在这里插入图片描述

Jenkins是⼀个web应⽤项⽬,其默认通过设备的 8080 端⼝提起⾃身服务;所以我们访问127.0.0.1:8080 即可访问Jenkins的界面
在这里插入图片描述

管理员密码就是之前在cmd或者终端中看到的admin初始密码,复制进来点继续,第⼀次进入可能会加载比较缓慢,稍等片刻,即会显示下图界面
在这里插入图片描述
这里直接选择安装推荐的插件即可,如果安装失败,可以尝试将你的插件安装更新源需要改成国内镜像源
修改Jenkins⼯作⽬录下的 hudson.model.UpdateCenter.xml ⽂件,将url 改为http://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/updatecenter.json。
修改Jenkins⼯作⽬录下的 updates/default.json ⽂件,将updates.jenkins.io/download 全部替换成mirrors.tuna.tsinghua.edu.cn/jenkins,还有将www.google.com 全部替换为 www.baidu.com。
重启Jenkins服务
在这里插入图片描述
安装成功之后,就可以创建第一个管理员用户,并设置管理员的⽤户名和密码,当然也可以使用admin账户继续设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如上,Jenkins已经部署完成。

四、Jenkins简单使用

简单的使⽤项⽬与操作系统交互的步骤就三步:构建任务、设置构建脚本、运⾏项⽬

4.1 构建任务

新建项目
在这里插入图片描述
输入任务名称,选择自由风格的项目即可
在这里插入图片描述
构建触发器,增加构建步骤,执行shell。这里注意下,Windows系统选择执行Windows批处理命令
在这里插入图片描述

4.2 设置构建脚本

这里我们就可以去设置你想要执行的python文件或其他任务了,构建好脚本之后保存项⽬即可去运⾏项⽬了。但需要注意以下两点:
1、Jenkins构建的脚本是调⽤了操作系统的终端或者 CMD 在运⾏命令;所以,⾸先要确认你的命令存在于系统环境变量中;
⽐如上图中的 python3 --version,要先确定在终端或 CMD中运⾏是正常的,才能确定Jenkins执⾏不会有误;
2、Jenkins的执⾏时是以Jenkins构建的项⽬的⼯作空间为起始⽬录,所以在运⾏命令时,如果涉及到相对路径,切记⼀定要明确运⾏脚本时,当前所在路径为当前项⽬的⼯作空间下;
在这里插入图片描述

4.3 运行项目

点击立即构建,就会去创建你刚才设置好的项目,构建历史即为你构建的列表,点击对应构建历史,进入构建详情页,在控制台输出即可查看构建的详情
在这里插入图片描述
在这里插入图片描述
至此,就是Jenkins的简单使⽤了。

五、Jenkins进阶使用

5.1 启动⽅式进阶:

之前我们是使⽤ java -jar <Jenkins的路径> 来启动Jenkins的服务;
除此之外呢,我们还可以使⽤:
指定端⼝: java -jar <Jenkins的路径> --httpPort=<端⼝>
指定编码: java -Dfile.encoding=utf-8 -jar <Jenkins的路径>
禁⽌Jenkins⾃动关闭⼦进程: java -Dhudson.util.ProcessTree.disable=true -jar <Jenkins的路径>
指定Jenkins Home(⼯作⽬录): java -DJENKINS_HOME=<指定的⼯作⽬录的路径> -jar <Jenkins的路径>
后台运⾏:
Mac/Linux: nohup java -jar <Jenkins的路径> > <存储后台运⾏信息的log⽇志⽂件地址> 2>&1 &
Windows: start /b java -jar <Jenkins的路径> 1><存储后台运⾏信息的log⽇志⽂件地址> 2><存储后台运⾏异常的log⽇志⽂件地址>

后台运⾏的关闭⽅式:
Mac:
1、查看占⽤端⼝的进程id: sudo lsof -i :<服务的端⼝号>
2、根据查到的进程id进⾏进程的销毁: sudo kill -9 <进程id>
Windows:
1、查看占⽤端⼝的进程id: netstat -aon|findstr “<服务的端⼝号>”
2、根据查到的进程id进⾏进程的销毁: taskkill /T /F /PID <进程id>

综合使⽤:
nohup java -Dfile.encoding=utf-8 -Dhudson.util.ProcessTree.disable=true -DJENKINS_HOME=<指定的⼯作⽬录的路径> -jar jenkins.war --httpPort=<端⼝> > <存储后台运⾏信息的log⽇志⽂件地址> 2>&1 &

start /b java -Dfile.encoding=utf-8 -Dhudson.util.ProcessTree.disable=true -DJENKINS_HOME=<指定的⼯作⽬录的路径> -jar jenkins.war --httpPort=<端⼝> 1><存储后台运⾏信息的log⽇志⽂件地址> 2><存储后台运⾏异常的log⽇志⽂件地址>

5.2 项⽬构建进阶

Jenkins拉取Git上的仓库源码
步骤1:确认Jenkins【Manage Jenkins】–>【Global Tool Configuration】–>【Git】为下图显示
在这里插入图片描述
在这里插入图片描述
步骤2:构建项⽬时对项⽬的源码管理选择【Git】,输入需要拉取的项目地址
在这里插入图片描述
输入你git的用户名及密码后添加
在这里插入图片描述
添加好后,注意这里并不会自动默认,还需要手动选择一下刚才保存的账号
在这里插入图片描述
在这里插入图片描述
这里如果拉取失败了,报错128。可以尝试SSH认证方式,使用私钥的SSH用户名。
首先在终端中用以下命令生成SSH KEY,全部回车确认

ssh-keygen -t rsa -C "你git的邮箱地址@mail.com"

在这里插入图片描述
在上图可以看见存储的位置,前往.ssh文件夹,可以看见以下两个文件
id_rsa,私钥文件。
id_rsa.pub,公钥文件。
在这里插入图片描述
接下来登录git,在“Settings”的“SSH and GPG keys”点击“New SSH key”,将刚才生成的“id_rsa.pub”用文本编辑器打开,复制到“Key”中,点击“Add SSH key”确认。
在这里插入图片描述
在这里插入图片描述
接下来回到Jenkins的Git设置,继续添加Jenkins的凭证,类型选择“SSH Username with private key”,选中“Private Key”的“Enter directly”,点击“Add”,将本地“id_rsa”文件用文本编辑器打开,复制粘贴到输入框后,点击添加按钮
在这里插入图片描述
在这里插入图片描述
输入要拉取的项目地址,再选择刚才添加的SSH凭证,点击保存
在这里插入图片描述
保存好后,可以点击立即构建,再点击工作空间,可以查看是否将Git代码成功拉取到Jenkins
在这里插入图片描述
在这里插入图片描述
若想直接执行拉取下来的自动化脚本,在构建中编写执行语句即可,控制台中可以看见被执行文件的输出内容
在这里插入图片描述
在这里插入图片描述

5.2 Jenkins定时构建项⽬

若想自动化任务在固定时间自动去Git上拉取最新项目代码并执行可以设置定时构建任务,只要设置定时构建,输入框内输入的是Cron表达式,Cron表达式是⼀个具有时间含义的字符串,字符串以5-6个空格隔开,分为6~7个域,格式为 X X X X X X X 。其中 X 是⼀个域的占位符。最后⼀个代表年份的域⾮必须,可省略。单个域有多个取值时,使⽤半⻆逗号 , 隔开取值。每个域可以是确定的取值,也可以是具有逻辑意义的特殊字符。每个域最多⽀持⼀个前导零。

域取值
下表为Cron表达式中六个域能够取的值以及⽀持的特殊字符。

是否必需取值范围特殊字符
[0, 59]* , - /
分钟[0, 59]* , - /
小时[0, 23]* , - /
日期[1, 31]* , - / ?L W
月份[1, 12]或[JAN, DEC]* , - /
星期[1, 7]或[MON, SUN]。使⽤[1, 7]表达⽅式,1 代表星期⼀,7 代表星期⽇* , - / ?L #
[当前年份,2099]* , - /

特殊字符
Cron表达式中的每个域都⽀持⼀定数量的特殊字符,每个特殊字符有其特殊含义。

这里我们设置的是三分钟构建一次,通过构建历史可以看出每隔三分钟,会自动构建。
在这里插入图片描述
在这里插入图片描述

随手点赞一次,运气增加一份。

  • 13
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

拒绝内卷的小测试

感谢老板的投喂

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值