linux部署springboot项目的一些脚本和jenkins构建运行springboot项目

linux部署springboot项目的一些脚本(需要注意这些脚本都需要有权限)

启动脚本:start.sh

#!/bin/bash
#nohup 命令
#用途:不挂断地运行命令。
#语法:nohup Command [ Arg … ][ & ]
nohup java -jar XX.jar >>1.txt &

停止脚本:stop.sh

#!/bin/bash
PID=`ps -ef | grep XX.jar | grep -v grep | awk '{print $2}'`
if [ -z "$PID" ]
then
    echo Application is already stopped
else
    echo kill $PID
    kill -9 $PID
fi

重启脚本:restart.sh

#!/bin/bash
echo stop application
source stop.sh
echo start application
source start.sh

=注意:授权:
chmod -R 777 xx.sh

运行脚本命令

./start.sh

需要注意sh文件要和jar包同个目录下,如果不同目录则指定修改jar包的路径

jenkins的start.sh脚本

#!/bin/bash
source /etc/profile
export JAVA_HOME PATH CLASSPATH
JAVA_HOME=/usr/java/jdk1.8.0_121 #你自己的jdk路径
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
export BUILD_ID=dontKillMe
echo "  =====关闭Java应用======"
PROCESS=`ps -ef |grep java |grep -v grep|grep /root/www/javaweb/project/testJenkis/demo-0.0.1-SNAPSHOT.jar|awk '{print $2}'`
for i in $PROCESS
do
  echo "Kill the $1 process [ $i ]"
  kill -9 $i
done
echo "  =====启动Java应用======"
nohup java -jar /root/www/javaweb/project/testJenkis/demo-0.0.1-SNAPSHOT.jar  > /root/www/javaweb/project/testJenkis/out.log 2>&1 &
echo $! > savePid.txt
cat savePid.txt
rm  savePid.txt

jar包的路径在/root/www/javaweb/project/下,out.log也在/root/www/javaweb/project/下,注意只能存储在root下的目录下因为ssh只能连接到这个下面

搭建jenkins

第一步jenkins构建工作选择搭建maven的不是自由风格项目

第二步的新建工作的具体配置

linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第1张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第2张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第3张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第4张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第5张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第6张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第7张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第8张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第9张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第10张图片
注意Build Triggers和Post-build Actions需要搭配gitee的自动构建才需要些,用jenkins手动构建只需要其他几个步骤就可以了

第三步,全局工具配置

linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第11张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第12张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第13张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第14张图片
注意这里的git其实可有可无

第四步confiuration的配置

linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第15张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第16张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第17张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第18张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第19张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第20张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第21张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第22张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第23张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第24张图片

第五步凭据配置

linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第25张图片

所需的插件

linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第26张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第27张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第28张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第29张图片
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第30张图片
maven的配置conf下的settings.xml
linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第31张图片


    aliyunmaven
    *
    阿里云公共仓库
    https://maven.aliyun.com/repository/public


jenkins所需的配置代码总结

1.Source Code Management的配置
Name
origin

Refspec
+refs/heads/master:refs/remotes/origin/master +refs/pull/*/MERGE:refs/pull/*/MERGE

Branches to build
Branch Specifier (blank for 'any')

*/master


2.Build
Root POM
pom.xml

Goals and options
clean package

MAVEN_OPTS
不填

3.Post Steps
Transfers
Transfer Set
Source files
target/*.jar 

Remove prefix
target/

Remote directory
/www/javaweb/testJenkins/test1

Exec command
/www/javaweb/testJenkins/test1/start.sh


利用giteee自动构建的配置

linux部署springboot项目的一些脚本和jenkins构建运行springboot项目_第32张图片

参考资料

在Linux下部署SpringBoot的jar包

我的jenkins密码:(222e34d373904a7e8c85704311c90125)

码云 Gitee + Jenkins 配置教程


Jenkins(七)之全局工具配置


Jenkins之路(二):使用Jenkins自动部署SpringBoot项目(svn篇)


Exec exit status not zero. Status [126] 解决方法


Jenkins走过的坑全在这儿,超详细Jenkins部署springboot项目完整过程


解决:No goals have been specified for this build. You must specify a valid lifecycle phase or a goal


运行jar包时指定端口号


Jenkins集成gitee遇到的问题及解决方案


Maven JVM terminated unexpectedly with exit code 137


Jenkins默认工作空间及更改默认工作空间

你可能感兴趣的:(工具,linux,jar,shell)