测试工具(一)Fiddler安装及使用
测试工具(二)Git环境搭建-Windows版
测试工具(三)Git常用命令
测试工具(四)Jenkins环境搭建与使用
Jenkins 是⼀个独⽴的开源⾃动化服务器,可用于自动化与构建、测试、交付或部署软件相关的各种任务。
官网地址:https://www.jenkins.io/zh/,点击下载进入下载页,直接点击下载war包
下载好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已经部署完成。
简单的使⽤项⽬与操作系统交互的步骤就三步:构建任务、设置构建脚本、运⾏项⽬
新建项目
输入任务名称,选择自由风格的项目即可
构建触发器,增加构建步骤,执行shell。这里注意下,Windows系统选择执行Windows批处理命令
这里我们就可以去设置你想要执行的python文件或其他任务了,构建好脚本之后保存项⽬即可去运⾏项⽬了。但需要注意以下两点:
1、Jenkins构建的脚本是调⽤了操作系统的终端或者 CMD 在运⾏命令;所以,⾸先要确认你的命令存在于系统环境变量中;
⽐如上图中的 python3 --version,要先确定在终端或 CMD中运⾏是正常的,才能确定Jenkins执⾏不会有误;
2、Jenkins的执⾏时是以Jenkins构建的项⽬的⼯作空间为起始⽬录,所以在运⾏命令时,如果涉及到相对路径,切记⼀定要明确运⾏脚本时,当前所在路径为当前项⽬的⼯作空间下;
点击立即构建,就会去创建你刚才设置好的项目,构建历史即为你构建的列表,点击对应构建历史,进入构建详情页,在控制台输出即可查看构建的详情
至此,就是Jenkins的简单使⽤了。
之前我们是使⽤ java -jar
除此之外呢,我们还可以使⽤:
指定端⼝: java -jar
指定编码: java -Dfile.encoding=utf-8 -jar
禁⽌Jenkins⾃动关闭⼦进程: java -Dhudson.util.ProcessTree.disable=true -jar
指定Jenkins Home(⼯作⽬录): java -DJENKINS_HOME=<指定的⼯作⽬录的路径> -jar
后台运⾏:
Mac/Linux: nohup java -jar
Windows: start /b java -jar
后台运⾏的关闭⽅式:
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⽇志⽂件地址>
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
若想直接执行拉取下来的自动化脚本,在构建中编写执行语句即可,控制台中可以看见被执行文件的输出内容
若想自动化任务在固定时间自动去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表达式中的每个域都⽀持⼀定数量的特殊字符,每个特殊字符有其特殊含义。
这里我们设置的是三分钟构建一次,通过构建历史可以看出每隔三分钟,会自动构建。
随手点赞一次,运气增加一份。