前言:
jenkins里的最常用的功能就是job的构建,即任务的构建,本篇文章主要介绍job的配置。
一、持续集成的优点
1、解放劳动力;
2、避免人为失误;
3、提高效率;
4、质量持续反馈;
5、质量保障;
二、jenkins持续集成的体系
Linux + svn+ Jenkins + Maven + Jdk
三、配置Job
在左边栏列表选择"New 任务"
现在我们配置一个maven项目,命名为job1
构建操作:
clean package -Dmaven.test.skip=true
这句话的意思是:清除项目下的target文件,编译,跳过测试
构建成功!
这个如果是蓝色表示构建成功了,黄色表示不稳定,红色表示构建失败。
但是蓝色并不一定代表着构建成功了,通过构建日志确认是否成功,点击这两个地方都可以查看日志
发现在代码在编译成功后构建失败了
点开配置查看。
附一段通过ssh部署war和jar的脚本
war的脚本:
#!/bin/sh
tomcat_path=/usr/local/app/portal/apache-tomcat-8.5.32
project_web=$tomcat_path/jdy_portal-0.0.1-SNAPSHOT.war
now_project=$tomcat_path/webapps/ROOT.war
project_static=$tomcat_path/webapps/ROOT
now_static=/usr/local/static
if [ -f $project_web ] ;then
echo -- stop tomcat
#kill tomcat pid
pidlist=`ps -ef | grep tomca | grep -v grep | awk '{print $2}'`
if [ "$pidlist" = "" ]
then
echo "no tomcat pid alive!"
else
echo "tomcat Id list :$pidlist"
kill -9 $pidlist
echo "KILL $pidlist:"
echo "tomcat stop success"
fi
echo -- 正在部署$project_web
if [ -f $tomcat_path/webapps/ROOT.war ] ;then
rm -f $tomcat_path/webapps/ROOT.war
rm -rf $tomcat_path/webapps/ROOT
echo -- 正在删除$project_web
fi
cp $project_web $now_project
# start tomcat
echo $tomcat_path
#sleep 5
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
# export BUILD_ID=XXXXXX
#$tomcat_path/bin/startup.sh
${tomcat_path}/bin/startup.sh
else
echo $BUILD_ID - 未找到$project_web
fi
jar的脚本
#!/bin/sh
#.etc/profile
source /etc/profile
app_dir=/usr/local/app/provider/cms
app_file_path=$app_dir/jdy_service_api_cms_impl.jar
app_lib_path=$app_dir/lib/*
app_path=$app_dir/jdy_service_api_cms_impl.jar
app_log_path=$app_dir/logs
if [ -f $app_file_path ] ;then
echo -- stop app
pidlist=`ps -ef | grep jdy_service_api_cms_impl | grep -v grep | awk '{print $2}'`
if [ "$pidlist" = "" ] ;then
echo "no app pid alive!"
else
echo "app Id list :$pidlist"
kill -9 $pidlist
echo "KILL $ pidlist:"
fi
export JAVA_HOME=/usr/local/java/jdk1.8.0_191
echo -- 开始启动 $app_path
nohup java -jar $app_path > $app_log_path/cms.log 2>&1&
echo -- 启动完成
fi