jenkins+码云+SpringBoot项目自动化部署

4 篇文章 0 订阅

1.目的

1,让每次部署不再那么麻烦
2,网上jenkins+码云+springboot+2G运行内存服务器,形式文章太少,过程太艰辛,特此记录。
3,为什么非用码云,是gitlab不香吗?不。。。是太穷,2G运行内存的小草履虫,干啥都得精打细算。

2.配置

1,jenkins 2.205
2,jdk 1.8
3,maven3.3.9(一开始用3.5.0版本,但报jar包冲突,网上找原因,换到3.3.9)
4,git 2.9.5
5,tomcat 7.0.85

3.构建项目前检查

3.1 插件检查

码云插件检查

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

码云插件安装教程:https://gitee.com/help/articles/4193#article-header2

maven插件检查

在这里插入图片描述

maven插件安装在可选插件里搜索maven,建议版本3.3.9

在这里插入图片描述

maven插件安装过程中maven integratio插件可能会遇到安装失败的情况,可以在http://updates.jenkins-ci.org/download/plugins/maven-plugin/2.14/maven-plugin.hpi中手动下载hpi文件,然后在高级安装中上传

3.2 配置检查

在这里插入图片描述

git配置检查

在这里插入图片描述

3.2.1关于jenkins配置git

1.卸载自带的git,终端输入:
yum remove git
2,安装所需安装包,终端输入:
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel asciidoc
yum install gcc perl-ExtUtils-MakeMaker
3,下载新的 ,地址:githttps://mirrors.edge.kernel.org/pub/software/scm/git/
4,上传到终端安装目录(自己选)
5,解压,安装目录终端输入:
tar zxvf v版本号.tar.gz
6,安装,终端输入:
cd git
make all
make install
7,配置环境变量
cd ~
cd …
cd etc/
vi profile
加入:export PATH=$PATH:你的安装目录路径/git/bin
8,配置,看上图。

maven配置检查

在这里插入图片描述

码云配置

在这里插入图片描述

链接名:自己决定
Gitee 域名 URL:输入码云完整URL地址,https://gitee.com
证书令牌:右边选项点击add,选择jenkins,

在这里插入图片描述

1,Domain:选择全局凭据(Global credentials)
2,类型(Kind):选择Gitee API 令牌(Gitee API Token)
3,范围(Scope):,全局
4,Gitee APIV5 私人令牌(Gitee API Token):获取地址https://gitee.com/profile/personal_access_tokens
5,ID和描述:随便填

在这里插入图片描述

Advanced:可配置是否忽略 SSL 错误(适您的Jenkins环境是否支持),并可设置链接测超时时间(适您的网络环境而定),我是忽略掉的了。
测试连接:点击可以确定自己的配置是否正确,如果不正确,则根据插件配置重新再走一遍。

4.正式开始新建SpringBoot项目

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

添加参数是为了在后面的shell脚本中使用

在这里插入图片描述

在这里插入图片描述

一共添加四个参数:
1,jar_name 打包名称
2,jar_path 打包后放置目录(我jenkins是war包放在tomcat中运行,安装完毕之后jenkins从码云上拉下代码放置的工作空间在/root/.jenkins/workspace目录下)
3,project_name 项目名称
4,spring_profile 环境标识prod,dev,uat…
在这里插入图片描述

源码管理选git,url是项目在远程仓库的地址,添加的是账号密码

在这里插入图片描述
在这里插入图片描述

root pom填pom.xml,下面是打包命令
在这里插入图片描述
post steps选执行shell

echo $spring_profile $jar_path $jar_name
cd /usr/local/shell/
./stop.sh $jar_name
echo "Execute shell Finish"
./startup.sh $spring_profile $jar_path $jar_name $project_name

这段脚本涉及到另两个脚本,先是stop.sh 作用是停掉上个线程

jar_name=${1}
echo "Stopping" ${jar_name}
pid=`ps -ef | grep ${jar_name} | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   echo "kill -9 的pid:" $pid
   kill -9 $pid
fi

第二个是startuo.sh,作用是启动项目

spring_profile=${1}
jar_path=${2}
jar_name=${3}
project_name=${4}
cd ${jar_path}/target/
echo ${jar_path}/target/
echo nohup java -server -Xms128m -Xmx256m -jar ${jar_name} &
BUILD_ID=dontKillMe nohup java -jar ${jar_name} --spring.profiles.active=${spring_profile} &

这两个脚本放在终端/usr/local/shell/目录下,注意,如果这两个脚本是在windows环境下编辑,然后上传至linux环境的,有时候会报一些莫名其妙的错误,需要给dos文件格式转成unix,所以,上传完成后,在终端输入:
1,如果没安装 dos2unix,先安装: yum install dos2unix,
2,然后输入命令: dos2unix filename
3,最后给脚本添加可执行权限: chmod -R 777 filename.sh

都设置好之后点击保存

5.然后build

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6,到这如果你构建成功,那你就已经结束了,不用再往下看了,如果你没成功,构建失败,原因是内存溢出,或是maven报ERROR: Failed to launch Maven. Exit code = 1,或是Maven JVM terminated unexpectedly with exit code 137,甚至jenkins 显示成功,但springboot项目日志却报莫名其妙的错导致[stopping tomcat],你可以继续看看,也许能帮到你。

经过我一番折腾,最后结论。。。都是穷闹的,我2个G运行内存的小草履虫,明显扛不住这么多东西(我还装了mysql,zokeeper,redis,kafka…)
所以,第一步是卸载你不用的东西
第二步,设置maven的内存
终端输入vi etc/profile
修改maven环境变量,添加
MAVEN_OPTS=-Xmx1024m
改完别忘终端输入:source etc/profile 让配置生效
第三步,修改承载jenkins的tomcat配置
打开你tomcat所在目录
终端输入:vi bin/catalina.sh
添加JAVA_OPTS=’-Xms256m -Xmx1024m -XX:MaxNewSize=256m -XX:MaxPermSize=1024m’
最后重启jenkins.
如果做完这些还不行,内存还不够用。。。。那你就换服务器吧。。。如果可以的话

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值