Jenkins构建部署SpringBoot项目(从安装到一键部署发布)

it2024-12-21  11

服务器上需要安装的服务:JDK + MAVEN + SVN

我们项目使用的是springboot,所以不需要安装tomcat以及相关插件

jenkins安装方式众多,但有些人比较喜欢用jenkins.war方式来安装部署


安装Jenkins

下载jenkins.war,下载指令如下

wget http://updates.jenkins-ci.org/download/war/2.201/jenkins.war 下载后使用命令找到jenkins.war文件 find / -name 'jenkins.war'

使用指令启动jenkins.war文件,指定使用8000端口启动,启动的时候会输出第一次登录的指令,记录下来登录的时候使用 nohup java -Dhudson.util.ProcessTree.disable=true -jar jenkins.war --httpPort=8000 口令,如果未记录也可以到图片中的路径文件中查看

启动完成后ip+8000 访问地址获取界面,安装社区建议的插件

创建管理员账号


使用

准备工作

1、需要在linux服务器中安装JDK参考笔者博客:Linux中安装配置jdk1.7

2、需要在linux服务器中安装Maven参考笔者博客:Linux安装配置Maven

3、Jenkins入门教程之配置jdk、maven、svn、git(三)参考笔者博客:Jenkins入门教程之配置jdk、maven、svn、git(三)

4、Jenkins入门教程之安装maven构建插件(四)参考笔者博客:Jenkins入门教程之安装maven构建插件(四)

5、Jenkins入门教程之安装Publish over SSH(六)插件并配置参考笔者博客:Jenkins入门教程之安装Publish over SSH插件并配置(六)

6、Jenkins入门教程之安装svn插件并配置(九)参考笔者博客:Jenkins入门教程之安装svn插件并配置(九)

构建项目

Jenkins入门教程之自动构建部署SpringBoot项目(七)使用Jenkins自动部署SpringBoot项目

另外需要特别说明的是启动springboot项目的启动脚本

脚本做的事情是创建backup目录,用于存放替代的jar文件。杀掉之前项目启动中的pid,重启项目并将日志追加。只需拷贝过去口修改DIR变量和JARFILE的参数以及/root/.jenkins/workspace/ic-resouce-cloud/resource-cloud-app/target 参数(该路径在xftp中为隐藏路径,可以通过 工具 》 选项 》显示隐藏文件 查看),另外把脚本文件放置到和jar包同级下即可,另还需要使用chmod 777 脚本名称 授权脚本

DATE=$(date +%Y%m%d) export JAVA_HOME PATH CLASSPATH JAVA_HOME=/home/jdk1.8.0_171/ PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH #项目中jar包的存放路径 DIR=/data/ic_resource_cloud #项目的jar包名称 JARFILE=resource-cloud-app-0.0.1-SNAPSHOT.jar if [ ! -d $DIR/backup ];then mkdir -p $DIR/backup fi cd $DIR ps -ef | grep $JARFILE | grep -v grep | awk '{print $2}' | xargs kill -9 mv $JARFILE backup/$JARFILE$DATE mv /root/.jenkins/workspace/ic-resouce-cloud/resource-cloud-app/target/$JARFILE $DIR/$JARFILE nohup java -jar $JARFILE > out.log & if [ $? = 0 ];then sleep 30 tail -n 50 out.log fi cd backup/ ls -lt|awk 'NR>5{print $NF}'|xargs rm -rf

结构图


问题

1、项目运行成功,但是jenkins中报黄色,UNsafe,报错信息如下

11:01:55 SSH: Disconnecting configuration [项目名称] ... 11:01:55 ERROR: Exception when publishing, exception message [Exec timed out or was interrupted after 240,000 ms] 11:01:55 Build step 'Send files or execute commands over SSH' changed build result to UNSTABLE 11:01:56 [Checks API] No suitable checks publisher found. 11:01:56 Finished: UNSTABLE

解决方式:配置Send files or execute commands over SSH时勾选exec in pty选项 2、脚本权限不足 解决方式:使用指令chmod 777 脚本名称授权脚本后再次构建
最新回复(0)