Jenkins 服务搭建
安装jenkins
准备条件(版本2.0左右的都要jdk 1.8 否则跑不起来)
- jenkins-2.116-1.1.noarch.rpm
- jdk1.8
安装 jenkins
rpm -ih jenkins-2.9-1.1.noarch.rpm
自动安装完成之后:
/usr/lib/jenkins/jenkins.war WAR包
/etc/sysconfig/jenkins 配置文件
/var/lib/jenkins/ 默认的JENKINS_HOME目录,在第一次启动之前是没有文件的,启动初始化之后才会有文件
/var/log/jenkins/jenkins.log Jenkins日志文件
配置启动权限,和端口
vi /etc/sysconfig/jenkins
启动jenkins: service jenkins start
重启jenkins: service jenkins restart
访问jenkins;http://ip:prot
打开图中的地址,复制密码
点击继续,选择默认安装的插件,之后设置第一个用户;然后完成
配置jenkins
安装插件,几个比较重要的插件,maven publish over SSH
系统管理-系统设置
系统管理-全局工具配置
Maven setting.xml 配置
、
JDK配置
Maven 配置
新建任务发布
1、新建任务名称
启用项目安全,可以做用户构建权限控制,不同的用户登录看到不同项目,赋予不同操作权限
参数化构建
选择分支构建
指定分支构建
2、从相应的代码管理平台下载代码
构建触发器
可以什么都不选,也可以设置定时构建
定时构建
3、构建maven 工程
选择配置的maven
Maven 命令;先clean 在install 跳过测试
clean install -Dmaven.test.skip=true
项目中的pom 路径
/var/lib/jenkins/workspace/openapi-server/kronos-comm/pom.xml
jenkins下面的workspace 找到相应的pom文件
自动替换文件
如果需要在构建项目的时候替换掉某些文件(例如测试环境的jdbc 、application.properties自动替换)
注意替换的时候的执行顺序,别war包都打好了才去替换文件,没有任何意义
附带一个windows 版本jenkins的执行脚本
4、发布到服务器
将war 包上传到服务器指定目录,杀死tomcat 进程,并启动
Transfer set 转移装置
Source files:源文件
Remove prefix:删除前缀
Remote directory:根目录
Exec command 编辑命令
tomcat脚本命令
cd /root/work-tomcat/apache-tomcat-pda/build/
mv kronos-server.war ROOT.war
cd /root/work-tomcat/apache-tomcat-pda
#kill tomcat pid
pidlist=`ps -ef|grep /root/work-tomcat/apache-tomcat-pda/ |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 "service stop success"
fi
sleep 10
if ! [ -d ./bak ];then
mkdir bak
fi
if [ -d ./webapps/ROOT ];then
tar zcf ROOT_bak_`date +%Y%m%d`.tar.gz webapps/ROOT
mv ROOT_bak*.tar.gz bak/
rm -rf webapps/ROOT
fi
cp /root/work-tomcat/apache-tomcat-pda/build/*.war /root/work-tomcat/apache-tomcat-pda/webapps/ROOT.war
rm -rf work/Catalina
sh bin/startup.sh
静态文件解压命令(发布静态文件使用)
cd /home/pda-web/build
rm -rf www/*
cp /home/pda-web/build/*.tar /home/pda-web/www.tar
cd /home/pda-web
tar -xvf www.tar
rm -rf www.tar
rm -rf build
构建后操作(可以触发构建其他项目)