测试环境
搭建测试环境:
- 困扰:时间紧、任务重、没人管
- 优点:程序自动部署,环境一键部署
Jenkins安装配置:
- 下载:
http://mirrors.jenkins.io/war-stable/latest/jenkins.war
- cmd命令行运行:java -jar jenkins.war
- 运行后打开:localhost:8080,需要按照指定路径找到密码粘贴输入
- 插件:rebuilder、safe restart
Jenkins基础配置:
- 配置全局安全配置(管理员权限):授权策略中选择安全矩阵,并添加用户组赋予权限
- 添加用户:配置权限还是在configure flobal security
linux部署配置:
- 确定IP地址,登录的用户名和密码
- 确定ssh可以使用,netstat -anp | grep :22
- service sshd start 启动ssh
- 确定防火墙处于关闭,service iptables status
- service iptables stop 关闭防火墙,这个命令可能不成过,需要用另一个命令,systemctl stop firewalld
linux安装:
- java:yum install java
- git:yum install git
- 设置用户名和邮箱:
- git config --global user.name “用户名”
- git config --global user.email “邮箱名”
- 生成SSH密钥:ssh-keygen -t rsa -C “邮箱名称”
- 查看ssh密钥并复制到github:cd ~/.ssh/,id_rsa(私钥) id_rsa.pub(公钥)
- 查看是否添加成过:
ssh git@github.com
- 设置用户名和邮箱:
- 安装并配置Maven
- 下载Maven包:
wget http://mirrors.tuna.tsinghua.edu.cn/apache/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.zip
,没有wget需要先安装,yum install wget - 解压:unzip apache-maven-3.6.3-bin.zip
- 安装配置:cd apache-maven-3.6.3/
- vim /etc/profile 底部输入
export MAVEN_HOME=/root/apache-maven-3.6.3
export PATH=$MAVEN_HOME/bin:$PATH
- vim /etc/profile 底部输入
- 加载配置:. /etc/profile
- 检测配置:mvn -version
- 下载Maven包:
- 安装并配置Tomcat:
- 安装:
wget http://us.mirrors.quenda.co/apache/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.zip
- 解压:
uzip apache-tomcat-9.0.30.zip
- 配置:cd apache-tomcat-9.0.30.zip
- 配置权限:chmod a+x -R *
- 设置配置文件:vim conf/server.xml,比如端口Connector port=“8090”
- 在安装目录下运行:/bin/startup.sh
- 在进程中查看是否运行:ps -ef | grep tomcar
- 安装:
新建节点:
- 登录jenkins新建节点
- 主机配置IP并Add账号密码:192.168.57.129
- 远程工作目录:/root/.jenkins(服务器上创建的文件)
- 启动方法:Lainch siave agents via SSH
- 启动节点验证Linux服务器已经成过注册到Jenkins
- 新建任务可以远程运行在Linux服务器上
- 勾选Restrict where this project can be run,并添加刚才创建的节点名称
- 构建中选择Excute shell,可以输入shell命令,输入之后可以执行构建,打开console log就能看到日志
Fork部署应用:
1、Fork github上的练习部署应用确保获得代码更新权限
2、把应用源代码clone到本地,执行sql语句导入应用数据
3、更新应用中的数据库配置参数,本地运行应用验证系统正确性
4、Commit源代码修改,并将改动Push到github服务器
自动化部署过程:
- git 同步最新代码
- maven 打包
- 停止Tomcat
- 部署应用
- 启动Tomcar
- 验证结果
#!/usr/bin/env bash
# 程序目录下有一个deploy.sh的文件,主要功能编译+部署order站点
# 需要配置参数:
# 项目路径,在Execute Shell中配置项目路径, pwd 就可以获得项目路径
# export PROJ_PATH=这个jenkins在部署机器上的路径
# 输入你的环境上tomcat的全部路径
# export ROMCAT_APP_PATH=tomcat在部署机器上的路径
killTomcat()
{
pid=`ps -ef | grep tomcat | grep java | awk '{print $2}'`
echo "tomcat Od list :$pid"
if [ "$pid" = "" ]
then
echo "no tomcat pid alive"
else
kill -9 $pid
fi
}
cd $PROJ_PATH/order
mvn clean install
killTomcat
rm -rf $TOMCAT_APP_PATH/webapps/ROOT
rm -f $TOMCAT_APP_PATH/webapps/ROOT.war
rm -f $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
cd $TOMCAT_APP_PATH/
sh bin/startup.sh
创建Jenkins部署任务:
- 创建Jenkins任务
- 填写Server信息
- 配置git参数
- 填写构建语句,实际部署测试环境
BULLO_ID=DONTKILLME
. /etc/profile
# 配置运行参数
export PROJ_PATH=`pwd`
export ROMCAT_APP_PATH=/root/apache-tomcat-9.0.30
sh $PROJ_PATH/order.deploy.sh
- 执行任务
- 确定结果
- 打开应用
- 确定正确性