环境说明

        本文章采用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 Files\Java\jdk-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 Files\apache-tomcat-9.0.73\webapps下

启动Tomcat和Jenkins服务

在C:\Program Files\apache-tomcat-9.0.73\bin目录下,双击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 Files\allure-2.21.0路径下。

在系统环境变量的Path中添加bin路径,例如C:\Program Files\allure-2.21.0\bin,确定保存。

启动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:\Users\78142\PycharmProjects下。

源码管理

安装完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服务成功。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐