环境说明
本文章采用Tomcat+Jenkins.war的方式进行环境部署,这是通用环境,在任何系统下都可以这样部署。当然,Jenkins官方也有提供windows版本、linux版本、mac版本等其他安装方式。
实操环境是在windows11本地电脑安装的,也就是在本地搭建的环境,只能本地访问,作为演示测试用。
因为部署的是Tomcat,所以也可以将这套安装方法移植到linux服务器中,有条件的话可以开通公网端口映射,这样的话就变成独立的一台外网都能访问的Jenkins服务器了。linux部署步骤可参考本文章末尾部分。
安装需要用到tomcat、jenkins和JDK等的安装,在下面都会讲到,按照步骤来安装即可。
本文章图文较多,可按照目录来查阅。
实操环境版本
电脑:windows11
tomcat:apache-tomcat-9.0.73-windows-x64.zip
jdk:jdk-11.0.18_windows-x64_bin.exe
war:jenkins.war
安装JDK
JDK版本至少需要11的版本,否则Jenkins启动会失败。
官网地址:https://www.oracle.com/java/technologies/downloads/#java11
下载JDK
双击安装,默认下一步下一步。
鼠标右键我的电脑,点击【属性】。
点击【高级系统设置】。
点击【环境变量】。
点击【新建】。
变量名:输入JAVA_HOME
变量值:输入jdk安装的路径,默认是安装在C:Program FilesJavajdk-11路径下
点击【确定】。
在系统变量中找到Path,双击Path。
点击【新建】,输入%JAVA_HOME%bin,点击【确定】。
运行窗口中输入cmd。
输入java -version,出现java版本号说明JDK安装成功。
安装Tomcat
Tomcat版本控制在9即可,否则Jenkins启动会失败,不要安装10版本,目前不支持(当前2023.5.1)
本文章用的Tomcat安装包是apache-tomcat-9.0.73-windows-x64.zip,推荐使用免安装版。
官网地址:https://tomcat.apache.org/download-90.cgi
如下图,选择Tomcat9.0下载即可。
下载下来的tomcat压缩包
解压tomcat包至任意路径,路径不要有中文,不要有空格即可。如下图,我解压到了C盘下。
把webapps目录下的文件夹全都删除,这些都没有用。
大胆删除,如下图。
在conf目录下打开logging.properties文件,修改此文件以解决控制台乱码问题。
如下图箭头处,有2种处理方法,选1种处理即可。(图片是第2种处理方法)
1、把UTF-8改为GBK。
2、或者把UTF-8那一行注释掉,重新复制一行改写为GBK。
修改完保存即可。
至此,操作完成。
下载Jenkis的war包
官网地址:https://www.jenkins.io/download/
(网页打开可能会比较慢,但能打开,有条件的话可用梯子)
如下图,网页中一左一右有2个版本,都行,点击一个war包下载即可。
下载下来的war包
将jenkins.war文件移动至tomcat目录中的webapps目录下,例如C:Program Filesapache-tomcat-9.0.73webapps下
启动Tomcat和Jenkins服务
在C:Program Filesapache-tomcat-9.0.73bin目录下,双击startup.bat文件启动Tomcat。
(顺便一说:linux系统的话运行startup.sh文件)
如下图,在控制台中看到XXX毫秒后服务器启动,说明Tomcat启动成功。
如下图,在控制台中看到Jenkins is fully up and running说明Jenkins启动成功。(第1次启动可能会比较慢)
按下Ctrl+C则停止服务并关闭窗口。
如果等了10分钟还没有出现此段文字,说明启动失败,检查下是否安装了JDK,JDK版本是否是11,系统变量中是否已经设置JDK路径等,按下Ctrl+C关闭窗口,重新打开重新尝试启动。
启动完成之后再到webapps目录下去,会看到自动生成了一个jenkins的文件夹,此文件夹是当Tomcat启动后自动从war包中解压出来的,无需操作。
Tomcat默认端口是8080,如果本地8080端口被占用导致服务起不来,可修改conf目录下的server.xml配置文件把默认端口改掉。
访问Jenkins
在浏览器中输入localhost:8080/jenkins即可访问成功。
第1次访问会出现如下界面,根据提示找到管理员密码,点击【继续】。
管理员密码也可以在控制台中找到。(第1次启动时会显示)
选择【安装推荐的插件】。
等待。在安装过程中某些插件可能会安装失败,这是很正常的,不用管。
创建管理员用户,自行创建即可。(不建议右下角使用admin账号继续,因为admin密码会是那段很长的字符串)
点击保存并完成。
点击开始使用Jenkins。部署成功。
配置Jenkins
更换Jenkins下载源
更换下载源之后下载安装插件就会很快,建议更换。
点击Manage Jenkins。
点击Plugins。
点击Advanced settings。
页面下方有一个升级站点输入栏,在URL输入栏中输入【https://mirrors.tuna.tsinghua.edu.cn/jenkins/updates/update-center.json 】,点击提交即可。
安装中文插件
如下图,在Available plugins页面中,搜索locale,勾选插件,进行安装。
安装完重启Jenkins。(关闭Tomcat服务重新运行)
在Manage Jenkins页面中点击System。
在Locale输入栏里输入zh_CN,并勾选下方勾选框,点击保存按钮。(但界面还是会半中半洋,就是这个样子)
安装Allure插件(择需安装)
如果使用pytest测试框架进行使用,那么Jenkins也能够生成allure report,就需要安装allure插件。
在Available plugins页面中搜索allure,安装allure插件。
在Manage Jenkins页面下点击Tools。
在Allure Commandline中输入别名和安装目录
(注意:allure也是需要另外单独安装在电脑本地的,这里的安装目录就输入本地的allure安装目录,要先安装了allure了,才能够进行此步操作,或者使用Install automatically自动安装,但没试过)
Allure安装
因为Jenkins中关联到了Allure插件,但要生成Allure report仅Jenkins装了插件也没用,必须在电脑本地安装Allure才行,所以这里就顺带说一下如何安装Allure。
从网上下载一个allure压缩包,我用的版本时2.21.0
将压缩包解压到电脑任意路径下,不要有中文和空格。我是放在了C:Program Filesallure-2.21.0路径下。
在系统环境变量的Path中添加bin路径,例如C:Program Filesallure-2.21.0bin,确定保存。
启动cmd窗口,输入allure –version,如果显示allure版本号,则安装成功。
安装Email插件(择需安装)
如果使用自动化测试框架进行使用,那么会生成测试报告,最终可以通过Jenkins的邮件功能进行发送报告邮件。
在Available plugins页面中搜索Email,勾选Email Extension Template插件,安装。
在Manage Jenkins页面中点击System。
系统管理员的邮箱地址写发送者,也就是自己的邮箱。
在自定义邮件设置项里输入SMTP server地址和端口。
比如qq的就是smtp.qq.com,端口默认都是25。
在往下,输入默认邮箱后缀,我用qq邮箱,所以写@qq.com。输入UTF-8。Default Content Type选择HTML(text/html)。
点击保存。设置完成。
至此,Jenkins服务部署完成。
Jenkins应用
仅做基本了解,详细应用可参考其他资料。
新建一个Item。
输入一个名称,点击Freestyle project,点击确定。
紧接着就会跳转到构建任务的配置页面。
General
在描述输入栏中可对当前构建任务添加描述信息,随便写。
建议勾选【使用自定义的工作空间】,然后在下方输入栏中输入本地的工程目录所在路径,把工程的根目录写上,那么Jenkins在运行指令的时候会直接从该路径下启动,这样就对路径的处理会变得方便一些。
例如我自己的工程路径就在C:Users78142PycharmProjects下。
源码管理
安装完Git插件之后可以与Git进行关联,可以将远程Git仓库的代码直接Plull到指定的工作目录下,再去构建执行。
构建触发器
触发远程构建:当远程Git仓库中出现更新,出现变化时,就可以通过触发远程构建触发器来进行构建,需要输入身份验证令牌来进行授权。这一块一般会与Git相关联。
其他工程构建后触发:当相关联的工程触发了构建任务之后,再执行此构建任务。
定时构建:设定指定时间,在指定时间时执行构建。
时间的设定用五星大法【* * * * *】,用5个*号表示,当中用空格隔开,5位分别代表【分钟 小时 日期 月份 星期】。
例如:设定每周三的下午3点35分触发构建任务,就写为【35 15 * * 3】。
轮询SCM:设定指定时间,在指定时间时就会去检查远程Git仓库中代码是否有更新变更,如果没有变更,则不操作,如果有变更,则把变更后的代码给Pull下来,再去执行构建任务。
时间的设定用五星大法【* * * * *】,用5个*号表示,当中用空格隔开,5位分别代表【分钟 小时 日期 月份 星期】。
例如:设定每周三的下午3点35分触发构建任务,就写为【35 15 * * 3】。
Build Steps
构建步骤:设定当触发构建任务时,该任务应该要执行的操作。
比如:Execute Windows batch command(执行windows批处理命令)
如下图,在windows批处理命令中输入3行命令,这3行命令的意思就是先进入到C盘,然后cd到一个PyCharm项目里,最后运行main.py文件来让整个代码跑起来。
构建后操作
如果关联到pytest测试框架的使用,那么可以生成Allure Report,还可以用Editable Email Notification来发邮件。
生成Allure Report
在Path下输入路径,格式为【PyCharm工程名称allure_report】。如果路径错误的话,就没办法加载到测试数据,测试报告显示为空。
在下面高级按钮点开来,在Report Path处也要输入allure_report。
配置完成以后,就能在已执行完构建任务的页面中点击【Allure Report】按钮就可在网页中打开报告了。(没有配置Allure Report的话则不会显示Allure Report按钮)
配置Editable Email Notification
输入接收人员的邮箱。
Content Type:选择HTML(text/html)。
Default Subject:输入测试报告。
Default Content:邮件格式是固定的,直接网上找,复制黏贴进来即可。
配置完成以后,构建任务执行完毕之后就会向指定邮箱发送邮件。
构建任务主界面如下,在左侧可以查看任务状态、配置、删除和立即执行(Build Now)等操作。
在linux服务器上部署Jenkins服务
需要用到3个包,tomcat、jdk和war包,tomcat和jdk要在官网上下载linux版本的,war包通用和windows用的war包一样。
实操环境
linux服务器系统:CentOS7.6
tomcat:apache-tomcat-9.0.74.tar.gz
jdk:jdk-11.0.19_linux-x64_bin.tar.gz
war:jenkins.war
安装JDK
输入命令mkdir /usr/local/install,创建install目录,之后放文件用的,路径没有要求随便创。
把jdk-11.0.19_linux-x64_bin.tar.gz放到install目录下。(另外,保险起见用chmod 777 命令给文件赋个权限)
输入命令tar xzvf jdk-11.0.19_linux-x64_bin.tar.gz,对压缩包进行解压。
输入命令vim /etc/profile,对profile文件进行编辑,
在文件底端输入下面2行,并保存退出。
export JAVA_HOME=/usr/local/install/jdk-11.0.19
export PATH=$JAVA_HOME/bin:$PATH
输入命令source /etc/profile,让配置文件生效。
输入命令java -version,如下图,说明安装成功。
安装Tomcat
把apache-tomcat-9.0.74.tar.gz放到/usr/local/install目录下。(另外,保险起见用chmod 777 命令给文件赋个权限)
输入命令tar xzvf apache-tomcat-9.0.74.tar.gz,对压缩包进行解压。
输入命令cd /usr/local/install/apache-tomcat-9.0.74/webapps,进入webapps目录下。
把webapps目录下的所有文件夹都删除,这些都用不到,大胆删除。命令 rm -rf 文件夹名。
把jenkins.war包放到webapps目录下。(另外,保险起见用chmod 777 命令给文件赋个权限)
输入命令firewall-cmd –permanent –add-port=8080/tcp,开放8080端口。(Tomcat默认端口是8080/tcp,如果服务器端口被占用,可以修改/usr/local/install/apache-tomcat-9.0.74/conf目录下的server.xml文件即可)
输入命令firewall-cmd –reload,让端口生效。
启动Tomcatl和Jenkins服务
输入命令cd /usr/local/install/apache-tomcat-9.0.74/bin,进入bin目录。
输入命令./startup.sh,启动服务,如下图说明启动成功。(关闭服务命令是./shutdown.sh)
访问Jenkins
在浏览器中输入 服务器ip:8080/jenkins,即可打开网页。
第一次打开要输入密码,密码在服务器的/root/.jenkins/secrets/initialAdminPassword文件中查看。
如要公网访问,防火墙上映射8080端口即可。
至此,linux部署Jenkins服务成功。