一、jenkins 介绍及原理
jenkins 是一个开源项目,创始人kk,基于java 开发,是一个持续集成工具,旨在快速开发。快速测试、快速交付、快速部署。
拥有上千的集成插件。
通过脚本执行可以进行编译、打包、部署、生成测试报告等
二、jenkins 自动发布及回滚
1、新建项目,选择参数化构建、确定构建前的参数输入
2、编写脚本
1.window 批处理脚本,打包本地代码 E: cd E:\workplace\gitlab\dev\iot\publicService mvn install 2.将打包好的代码通过windos 批处理脚本上传 echo pscp -l root -pw root -r E:\workplace\gitlab\dev\iot\eurekaService\target\eureka-10000.jar root@ip:/home/test/publish_dir < E:/confirm.bat 3.执行sendfile and execute command over ssh #!/bin/bash if [ $opertional = 'deploy' ];then echo 'start deploy current version'-$BUILD_NUMBER echo $des cd /home/test/backup/ mkdir $BUILD_NUMBER cd $BUILD_NUMBER cp /home/test/publish_dir/eureka-10000.jar . cp /home/test/publish_dir/publicService-10004.jar . cp /home/test/publish_dir/eureka-10000.jar /home/test/eurekaService/eureka-10000.jar cp /home/test/publish_dir/publicService-10004.jar /home/test/publicService/publicService-10004.jar elif [ $opertional = 'rollbak' ];then echo 'start roolbak roolbak version'-$version echo $des cd /home/test/backup/$version/ cp eureka-10000.jar /home/test/eurekaService/eureka-10000.jar cp publicService-10004.jar /home/test/publicService/publicService-10004.jar fi 4.执行启动脚本 cd /home/test/eurekaService ps -ef | grep "10000" | grep -v grep | cut -c 9-15 | xargs kill -s 9 nohup java -jar eureka-10000.jar >out.log 2>&1 &
三、编写脚本注意事项
1.if语句
[ $opertional = 'deploy' ] 方括号内部注意前后必须有空格,=号左右有空格