为研究在kubernetes上的CICD,先在物理环境下安装个JenKins热热身。
在官网https://jenkins.io/下载war包,我的是http://mirrors.jenkins.io/war/latest/jenkins.war
然后运行(必须jdk1.8版本)
java -jar jenkins.war
如果端口冲突,加上参数
java -jar jenkins.war --httpPort=9090
在http://localhost:9090/的界面,选择Manage Plugins
安装 ant plugin,git plugin,maven integration plugin,ssh plugin, publish to ssh plugin.
选择Manage Jenkins->Global Tool Configuration
配置ant,maven,jdk的地址(安装过程略)
新建一个item,叫jenkins_test,并选择maven project.
在Source Code Management中选择git,输入网上大侠的代码地址
https://github.com/bingyue/easy-springmvc-maven
Build Trigger等保持不变,但在Post step中,加入代码
tomcat_path=/home/ericnie/apache-tomcat-7.0.82/
project
=easy-springmvc-maven
war_name
=easy-springmvc-maven.war
war_path
=http://192.168.0.104:8080/jenkins/job/jeekins-test/ws/target
server_port=9080
file_path=/home/ericnie/.jenkins/workspace/jenkins_test/target/
now=$(date +"%Y%m%d%H%M%S")
echo "the shell execute time is ${now}"
echo `lsof -n -P -t -i :${server_port}`
tomcat_pid=`lsof -n -P -t -i :${server_port}`
echo "the tomcat_pid is ${tomcat_pid}"
if [ "${tomcat_pid}" != "" ]; then
kill -9 $tomcat_pid
echo "kill the server"
fi
echo "rm ${tomcat_path}/webapps/${war_name}"
rm ${tomcat_path}/webapps/${war_name}
echo "rm -rf ${tomcat_path}/webapps/${project}"
rm -rf ${tomcat_path}/webapps/${project}
cd $file_path
if [ -f ${war_name} ]; then
cp ${war_name} ${tomcat_path}/webapps
else
echo "${war_name} unexists"
fi
export JAVA_HOME=/home/ericnie/jdk1.8.0_151
export CATALINA_HOME2=/home/ericnie/apache-tomcat-7.0.82/
export CATALINA_BASE2=/home/ericnie/apache-tomcat-7.0.82/
/home/ericnie/apache-tomcat-7.0.82//bin/startup.sh
echo "server restarted"
这段脚本还需要修改一下,目前脚本运行成功的条件是需要tomcat已经启动,并且在webapps下有个easy-springmvc-maven.war的包
然后需要再安装一个tomcat,监听在9080.(略)
选择Build Now
选择最新的build number,选择console output
基于日志信息进行问题定位直到成功。
+ echo 'kill the server'
kill the server
+ echo 'rm /home/ericnie/apache-tomcat-7.0.82//webapps/easy-springmvc-maven.war'
rm
/home/ericnie/apache-tomcat-7.0.82//webapps/easy-springmvc-maven.war
+ rm /home/ericnie/apache-tomcat-7.0.82//webapps/easy-springmvc-maven.war
+ echo 'rm -rf /home/ericnie/apache-tomcat-7.0.82//webapps/easy-springmvc-maven'
rm -rf /home/ericnie/apache-tomcat-7.0.82//webapps/easy-springmvc-maven
+ rm -rf /home/ericnie/apache-tomcat-7.0.82//webapps/easy-springmvc-maven
+ cd /home/ericnie/.jenkins/workspace/jenkins_test/target/
+ '[' -f easy-springmvc-maven.war ']'
+ cp easy-springmvc-maven.war /home/ericnie/apache-tomcat-7.0.82//webapps
+ export JAVA_HOME=/home/ericnie/jdk1.8.0_151
+ JAVA_HOME=/home/ericnie/jdk1.8.0_151
+ export CATALINA_HOME2=/home/ericnie/apache-tomcat-7.0.82/
+ CATALINA_HOME2=/home/ericnie/apache-tomcat-7.0.82/
+ export CATALINA_BASE2=/home/ericnie/apache-tomcat-7.0.82/
+ CATALINA_BASE2=/home/ericnie/apache-tomcat-7.0.82/
+ /home/ericnie/apache-tomcat-7.0.82//bin/startup.sh
Tomcat started.
+ echo 'server restarted'
server restarted
Finished: SUCCESS
然后,运行http://localhost:9080/easy-springmvc-maven访问测试。 |