第一: Jenkins配置
准备软件:
tomcat:apache-tomcat-9.0.19.tar.gz
jenkins:jenkins.war
安装方法:
第一种方法:
jenkins.war放到tomcat的webapps下边
远程拷贝:
scp -r /Users/xichaolin/Documents/soft/jenkins.war root@XXXXXXX:/root/tool/apache-tomcat-9.0.19/webapps
第二种方法:
解压jenkins.war到ROOT下边(方便后边配置jenkins的域名,通过域名进行访问)
jar xvf jenkins.war
unzip jenkins.war
/root/tool/apache-tomcat-9.0.19/webapps/ROOT
cd ROOT
cp ../jenkins/* . -r
启动:都tomcat 下边执行./startup.sh
关闭:./shutdown.sh
第二: Java代码自动打包部署
通过分支构建:
参数化设置
拉取git代码(注意ubuntu和centos)
添加pom.xml
打包shell脚本
打包脚本:
OLD_BUILD_ID=$BUILD_ID
echo $OLD_BUILD_ID
BUILD_ID=dontKillMe
cd /root/.jenkins/workspace/XXX/target
cp kogi-web-1.0.jar /data/www/XXX/webapps/server
cd /data/www/XXX/webapps/server
sleep 20s
nohup sh -x startup.sh restart &
sleep 30s
tail -n 500 console.log
startup.sh
#!/bin/sh
#spring boot 控制脚本
#该脚本会自动寻找与脚本同级目录的 jar 包。注意:脚本目录下只能有一个 jar 包
#使用方式:
#startup.sh option
#如:
#startup.sh stop #停止
#startup.sh start #启动
#startup.sh restart #重启
ROOT=`cd $(dirname $0)/;pwd`
JAR=`ls $ROOT/*.jar`
function start(){
if [[ `ps -ef|grep $JAR |grep java` ]]; then
echo $JAR already start,Please stop it or start with: restart
return
fi;
echo $JAR
nohup java -jar $JAR --spring.profiles.active=dev > $ROOT/console.log 2>&1 &
echo $JAR start success
}
function stop(){
if [[ `ps -ef|grep $JAR |grep java` ]]; then
ps -ef|grep $JAR |grep java|awk '{print $2}'|xargs kill -9 >/dev/null;
fi;
echo $JAR stop success
}
function restart
{
stop;
start;
}
for i in "$@"
do
case "$1" in
start)
start;
;;
stop)
stop;
;;
restart)
restart;
;;
esac
done;
通过:
直接启动的命令,指定环境和端口号
java -jar XXX-web-1.0.jar --spring.profiles.active=dev --server.port=10000
结果:
jenkins常用插件:
1、jenkins输出变色插件:AnsiColor
2、maven项目插件:Maven Integration plugin
3、备份插件:thinbackup
遇到的问题:
1、Error: pngquant failed to build, make sure that libpng-dev is installed
解决方法:
wget -q -O /tmp/libpng12.deb http://mirrors.kernel.org/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb \ && sudo dpkg -i /tmp/libpng12.deb \ && rm /tmp/libpng12.deb
前端打包:
1、自动打包命令:
tar -cvf /tmp/XXX.tar.gz *
tar包压缩的时候用cvf参数,解压的时候用xvf参数
或压缩的时候用czvf参数,解压的时候用xzvf参数
2、两台机器连接
第一种方式:
免加密