所有的环境均搭建在CentOS 6.5 x64服务器上,IP:192.168.209.121 主机名:liuyazhuang121 , 并在服务器上配置了主机名到IP的映射。
环境配置
首先,我们来看下如何通过Jenkins自动构建发布Web项目到远程Tomcat。我们使用的环境是:Jdk1.8+Maven3.6.3+Tomcat9.0+Jenkins2.19.3+SSH+Shell
其中,JDK、Maven和Tomcat小伙伴们可以自行下载安装并配置系统环境,可以到链接http://download.csdn.net/download/l1028386804/10127368 下载jenkins2.19.3。
配置SSH免密码登录
ssh-keygen -t rsa
cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys/
配置Jenkins
启动Jenkins
下载的Jenkins war包拷贝到${TOMCAT_HOME}/webapp目录下,并启动Tomcat,在浏览器中输入http://192.168.209.121:8080/jenkins,如下图所示,则证明Jenkins启动成功。
安装插件
上述默认安装的插件还不够
依次点击 系统管理->插件管理-> 可选插件-> 过滤搜索框中 查找如下插件:
-
Maven Integration plugin
-
SSH plugin
-
Deploy to container Plugin
设置系统管理-Global Tool Configuration
在系统管理-Global Tool Configuration中配置JDK和Maven,如下:
配置系统管理-Configure Global Security
注册并登录用户
配置SSH remote hosts
在系统管理-系统设置,配置SSH remote hosts
点击Add按钮设置登录方式,如下图所示:
点击Check connection按钮 ,如果页面上输出Successfull connection,则SSH配置成功,如下图所示:
新建项目构建
配置项目构建
General-配置项目名称
源码管理-配置SVN信息
配置Pre Steps
配置Post Steps
配置完成后保存。
构建项目
回到主页,点击立即构建项目按钮,如下图:
可看到页面上出现对maven_test的构建进度条,点击进度条即可进入日志输出页面,如下图:
输出如下日志,则代表构建并部署到tomcat成功。
tomcat.sh脚本
最后,我们给出tomcat.sh脚本的内容,如下所示。
#!/bin/sh
java env
service name
SERVICE_NAME=tomcat_service
case “$1” in
start)
/usr/local/tomcat/test-tomcat-10000/bin/startup.sh
;;
stop)
sleep 5
edu-service-aa.jar
edu-service-aa-bb.jar
P_ID=ps -ef | grep -w "test-tomcat-10000" | grep -v "grep" | awk '{print $2}'
if [ “$P_ID” == “” ]; then
echo “=== $SERVICE_NAME process not exists or stop success”
else
echo “=== S E R V I C E N A M E p r o c e s s p i d i s : SERVICE_NAME process pid is: SERVICENAMEprocesspidis:P_ID”
echo “=== begin kill S E R V I C E N A M E p r o c e s s , p i d i s : SERVICE_NAME process, pid is: SERVICENAMEprocess,pidis:P_ID”
kill $P_ID
fi
;;
restart)
$0 stop
sleep 2
$0 start
echo “=== restart $SERVICE_NAME”
;;
*)
restart
$0 stop
sleep 2
$0 start
;;
esac
exit 0
Ending
Tip:由于文章篇幅有限制,下面还有20个关于MySQL的问题,我都复盘整理成一份pdf文档了,后面的内容我就把剩下的问题的目录展示给大家看一下
如果觉得有帮助不妨【转发+点赞+关注】支持我,后续会为大家带来更多的技术类文章以及学习类文章!(阿里对MySQL底层实现以及索引实现问的很多)
吃透后这份pdf,你同样可以跟面试官侃侃而谈MySQL。其实像阿里p7岗位的需求也没那么难(但也不简单),扎实的Java基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。
下**
如果觉得有帮助不妨【转发+点赞+关注】支持我,后续会为大家带来更多的技术类文章以及学习类文章!(阿里对MySQL底层实现以及索引实现问的很多)
[外链图片转存中…(img-NuBM6f42-1714688718134)]
[外链图片转存中…(img-ebf7BEj2-1714688718135)]
吃透后这份pdf,你同样可以跟面试官侃侃而谈MySQL。其实像阿里p7岗位的需求也没那么难(但也不简单),扎实的Java基础+无短板知识面+对某几个开源技术有深度学习+阅读过源码+算法刷题,这一套下来p7岗差不多没什么问题,还是希望大家都能拿到高薪offer吧。