测试应用服务器和Jenkins服务器分别部署在不同的服务器上:
Jenkins系统准备:
Jenkins基础知识、应用服务器准备、部署项目介绍、Jenkins自动化部署任务开发、代码修改&一键发布测试系统环境
1、环境配置:
A、服务器OS Linux CentOS;
B、数据库服务器MySQL Server;
C、已在GITHub中注册账号;
D 、Java开发工具Intellij Idea;
2、Jenkins的简介:
A、通用的开源平台;
B、常用于自动化测试、持续集成;
3、Jenkins安装:
A、下载Jenkins:
下载网址Jenkins.io——》点击Download按钮——》Download Jenkins 2.121.3 for——》Generic Java package(.war)
B、将Jenkins的war包放在D:/Enviroment_create/Jenkins/目录下,然后启动命令行切换到Jenkins的war包所在的路径下,输入命令:java -jar Jenkins.war后执行——》在浏览器页面输入:localhost:8080即可以看到Jenkins在启动——》页面给出提示信息:
打开指定路径下的文件,复制密码到管理员密码框中,点击继续按钮——》点击安装推荐的插件;
C、创建第一个管理员用户用户:用户名:admin、密码:password、全名:admin、电子邮件:1562605801@qq.com保存;
D、安装Jenkins插件:
Jenkins功能是有限的,插件为Jenkins提供了扩展功能;
操作步骤:Jenkins页面单击系统管理——》点击插件管理——》可选插件-》第一个插件:在右上角过滤栏中输入rebuilder,其可用于重新构建;第二个插件:在右上角过滤栏中输入 safe restart,其可以安全的帮助你重启Jenkins;
4、Jenkins的基础配置:
A、配置全局安全属性:
操作步骤:进入Jenkins页面——》点击系统管理——》点击全局安全配置——》授权策略中选择安全矩阵——》添加用户admin——》然后对admin用户赋予管理员权限——》全选所有权限后点击保存;
B、添加自定义用户:进入Jenkins页面——》点击系统管理——》点击管理用户——》新建用户——》用户名:01369530、密码:password、全名:01369530、电子邮件:1562605801@qq.com保存;
C、为新创将的自定义用户授权,同admin用户操作类似;
Linux系统准备:
1、创建Linux服务器:用户名root、密码:拼音、全名:root;
2、查看Linux的IP地址:低版本ifconfig,高版本:ip addr;同时其也不支持netstat命令;可以通过执行如下命令后让其支持,命令行如下:
yum install net-tools
3、确定改服务器可以远程SSH连接:输入命令:netstat -anp|grep :22后,如果能看到对应的22端口已经被启用,且被sshd进程占用则说明该服务已经启动;若ssh未启动,可以通过如下命令:service sshd start命令将其启用;
4、确定防火墙处于关闭状态:
systemctl stop firewalld.service #停止
firewall systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示not running,开启后显示running)
5、安装Java环境:
A、运行命令安装Java:
运行命令:yum install java
B、安装完成后验证安装是否成功:java -version
备注:
使用命令:rpm -qa | grep java查看当前linux系统中安装的java包;
使用命令:yum -y remove java java-1.8.0-openjdk-headless-1.8.0.181-3.b13
6、安装并配置GIt环境:
GIT是一个开源的分布式版本控制系统,用于存储和管理项目的源代码;
A、运行命令安装Git,并验证安装结果;
安装:yum install git;
验证安装是否成功:git version;
B、将Git初始化并生成授信证书:
对Git进行初始化设置:
设置用户名,输入命令:git config --global user.name “lizhenli”;
设置邮箱:输入命令:git config --global user.email "1562605801@qq.com"
Git的授权是基于公钥和私钥的证书体系,所以需要授权证书来保证测试服务器与Git server之间的正常认证授信;
命令行输入:ssh-keygen -t rsa -C "1562605801@qq.com",后全默认为空Enter,默认路径为:/root/.ssh
而后输入命令:cd ~/.ssh/——》ls——》id_rsa、id_rsa.pub;
C、将Git证书配置到Github上,保证Linux服务器与Github的可连通性;
登录github.com网站,点击右上角头像按钮,点击sttings选项,单击SSH and GPG keys选项,单击new SSH key按钮后出现如下图片:
验证Git配置是否正确:在命令行输入:ssh git@github.com后出现:You've successfully authenticated表明连接成功;
7、安装配置Maven:
A、安装并配置maven:
下载Maven安装包:
在地址栏中输入:maven.apache.org,进入页面点击Download按钮,选择:BInary zip archive apache-maven-3.5.3-bin.zip包,复制链接地址;
在linux中的root路径下:输入命令:wget http://mirrors.hust.edu.cn/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.zip完成下载;
B、解压安装Maven包:unzip apache-maven-3.5.4-bin.zip;
备注:
Centos中不支持unzip需要安装命令如下:yum -y install zip unzip;
C、配置Maven系统参数,验证Maven是否安装正确;
进入maven的安装路径后输入如下命令:
cd apache-maven-3.5.3/
pwd
复制maven的安装路径:/root/apache-maven-3.5.4
在系统的属性文件中添加maven的属性设置,输入如下命令:
vim /etc/profile
在该文件的末尾添加如下命令:
export MAVEN_HOME=/root/apache-maven-3.5.4
export PATH=$MAVEN_HOME/bin:$PATH
而后保存并退出,在命令行执行:source /etc/profile命令更新系统配置;
输入命令:mvn -version命令验证maven的配置是否正确;
8、安装并配置Tomcat:
Tomcat是一种免费开源的Web应用服务器;
A、下载Tomcat:
在浏览器地址栏中输入:tomcat.apache.org进入页面——》点击Download按钮下的Tomcat 9点击——》找到Binary Distribution字样中的Core字样下的zip文件复制下载链接;
在linux的root目录下的命令行输入:wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-9/v9.0.11/bin/apache-tomcat-9.0.11.zip
B、解压安装包:unzip apache-tomcat-9.0.11.zip
C、配置Tomcat可执行权限与端口:
为Tomcat下的可执行文件赋予可执行权限,执行如下命令:
进入Tomcat文件夹下:cd apche-tomcat-9.0.8/
赋予权限命令:chmod a+x -R *
配置修改Tomcat端口号:
vim conf/server.xml
找到端口号:Connector port=“8080”
D、启动验证Tomcat:
进入Tomcat的安装目录下:bin/startup.sh
输入如下命令验证Tomcat是否启动:
ps -ef | grep tomcat
9、将Linux注册到Jenkins上:
A、新建节点:操作步骤如下:进入Jenkins页面——》点击系统管理——》点击管理节点——》单击新建节点——》输入节点名称:TesEnv并选中固定节点选项点击OK;
B、在上述操作出现的弹出框中配置路径、IP、用户名和密码;
使用root用户操作所以:
远程工作目录:/root/.jenkins;
启动方法选择:Launch slave agent via SSH;说明我们的Jenkins通过SSH协议与Linux主机通信;
主机:10.118.53.35
点击ADD输入Linux主机的登录名:root和密码:weichong后点击保存,随后在Credentials中选择Linux用户,而后保存;
C、点击高级——》输入Java路径:/root/jdk1.8.0_181/bin/java
D、启动从节点验证Linux服务器已经成功注册到Jenkins上;
在Jenkins中选择刚刚新增主机名,点击启动代理;
E、新建Job验证Jenkins任务可以远程运行在Linux服务器上,操作步骤如下:新建一个job——》选择构建一个自由风格的软件项目——》单击OK——》选中“Restrict where this project can be run”选项,而后在弹出的Label Expression添加节点:TestEnv——》选择构建选项卡:增加构建步骤——》Execute shell——》输入简单的shell命令:ifconfig——》保存——》点击立即构建;
10、简述自动化部署过程:
A、Git同步最新代码;
B、maven打包;
C、停止Tomcat服务器;
D、部署应用;
E、启动Tomcat服务器;
F、验证结果;
11、自动化部署代码:
#!/usr/bin/env bash
# 编译+部署order站点
# 需要配置如下参数
# 项目路径,在Execute Shell 中配置项目路径,pwd就可以获得该项目路径
# export PROJ_PATH=这个jenkins任务在部署机器上的路径
# 输入你的环境上tomcat的全路径
# export TOMCAT_APP_PATH=tomcat在部署机器上的路径
### base函数
killTomcat()
{
pid=`ps -ef | grep tomcat | grep java | awk '{print $2}'`
echo "tomcat Id list: $pid"
if ["$pid" = ""]
then
echo "no tomcat pid alive"
else
kill -9 $pid
fi
}
cd $PROJ_PATH/order
mvn clean install
# 停止Tomcat
killTomcat
# 删除原有工程
rm -rf $TOMCAT_APP_PATH/webapps/ROOT
rm -r $TOMCAT_APP_PATH/webapps/ROOT.war
rm -r $TOMCAT_APP_PATH/webapps/order.war
# 复制新的工程
cp $PROJ_PATH/order/target/order.war $TOMCAT_APP_PATH/webapps
cd $TOMCAT_APP_PATH/webapps/
mv order.war ROOT.war
# 启动Tomcat
cd $TOMCAT_APP_PATH/
sh bin/startup.sh