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的不是自由风格项目
第二步的新建工作的具体配置
注意Build Triggers和Post-build Actions需要搭配gitee的自动构建才需要些,用jenkins手动构建只需要其他几个步骤就可以了
第三步,全局工具配置
注意这里的git其实可有可无
第四步confiuration的配置
第五步凭据配置
所需的插件
maven的配置conf下的settings.xml
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>阿里云公共仓库</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
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的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默认工作空间及更改默认工作空间