Jenkins打包发布gitee上的springboot项目

我的环境 : Linux系统:tomcat-9,jdk-1.8,maven-3.5.4,git-2.18.2(自行安装好哦)
准备 :
修改conf/tomcat-users.xml(开启用户权限)
添加以下内容(username,password自行修改,用户登录管理页面)

    <role rolename="admin-gui"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-script"/>
    <user username="admin" password="admin" roles="admin-gui,manager-gui,manager-script"/>
	再新建文件(目录不存在则创建:mkdir创建目录,vim可以新建文件并编辑)
	conf/Catalina/localhost/manager.xml
	manager.xml填入以下代码
<Context privileged="true" antiResourceLocking="false" 
         docBase="${catalina.home}/webapps/manager">
    <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>

配置完以上信息后,将jenkins.war包放入tomcat的webapps目录(我用tomcat启动Jenkins,所以这里用的是war包而不是rpm安装) .
在这里插入图片描述

启动tomcat后就可以进入管理页面
进入tomcat首页,点击右侧的Manager App
在这里插入图片描述

输入上面配的账号密码进入管理页面,我在这里启动和停止Jenkins
在这里插入图片描述

首次载入Jenkins(http://ip:tomcat的端口号/jenkins/),密码按照提示去查看

初始化完成后会让你选择安装常用的插件.

抱歉这里有坑,可能啥也装不了.

解决方法:手动进入(http://ip:tomcat的端口号/jenkins/pluginManager/advanced),拉倒最下面将这个URL(https://updates.jenkins.io/update-center.json)修改成(http://updates.jenkins.io/update-center.json)

我下面的图都是中文的,大家可以去查下怎么安装中文插件.

接下来是插件安装:系统管理–>插件管理–>可选插件
在这里插入图片描述
安装插件Generic Webhook Trigger,Deploy to container Plugin,Git,Gitee,Maven Integration plugin

Jenkins配置Linux里的jdk,git,maven路径:系统管理–>全局工具配置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置gitee链接以及giteeAPI令牌:系统管理–>系统配置:找到Gitee配置(这里我不知道现在用没用到,也是跟着百度瞎配)

在这里插入图片描述
链接名:Gitee
Gitee 域名 URL:https://gitee.com/
证书令牌:点击边上的添加
在这里插入图片描述
Gitee API V5 的私人令牌就去他给的网址生成一个填进去

接下来终于到了弄项目流程

Jenkins大致流程
1:你给他源码地址,他用你的账号密码去拉取
2:拉取项目前后可以执行脚本,这个脚本得自己写

新建任务 起个任务名字 点击构建maven项目
在这里插入图片描述

Gitee链接:如果上面那个Gitee配置了话这里就能选择(目前不太清楚这个有没有用)

源码管理:点击Git
在这里插入图片描述
Repository URL:去你的gitee项目复制
在这里插入图片描述
Credentials:选择不了上面的那个Gitee令牌(所以不清楚这个令牌目前的作用),点击右边的添加邮箱账号密码
在这里插入图片描述
至此Jenkins可以拉取项目源码了

现在是项目发布的流程了
1:停止之前旧项目进程
–> Pre Steps
在这里插入图片描述
在这里插入图片描述
停止脚本如下

echo "准备停止dubbo-client"
pid=`ps -ef | grep dubbo-client.jar | grep -v grep | awk '{print $2}'`
if [ -n "$pid" ]
then
   kill -9 $pid
fi
echo "停止dubbo-client完毕"

dubbo-client.jar是我项目运行是的名称.自行修改成自己的

2:利用maven将刚刚拉取的源码打包
在这里插入图片描述

clean package -Dmaven.test.skip=true

3:运行项目
–> Post Steps 同样 添加shell脚本
在这里插入图片描述

我的具体脚本
在这里插入图片描述

BUILD_ID=DONTKILLME
echo "移动jar包到webee目录,并去掉版本号名称"
if [ ! -d "/usr/webee/dubbo-client/" ];then
  mkdir /usr/webee/dubbo-client/
  else
  echo "文件夹已经存在"
fi

if [ ! -f "/usr/webee/dubbo-client/dubbo-client.jar" ];then
  echo "文件不存在"
  else
  rm -f /usr/webee/dubbo-client/dubbo-client.jar
fi

mv -f /root/.jenkins/workspace/dubbo-client/target/dubbo-client-0.0.1-SNAPSHOT.jar /usr/webee/dubbo-client/dubbo-client.jar
echo "移动jar包完成"

echo "启动dubbo-client服务"
nohup java -jar /usr/webee/dubbo-client/dubbo-client.jar > /usr/webee/dubbo-client/dubbo-client.log 2>&1 &
echo "启动dubbo-client服务完成"

脚本解释:
BUILD_ID=DONTKILLME 系统大哥别杀死我这个进程(这个别忘记了)
第一个if 是我习惯将运行的jar包放到我指定的目下运行,大家可以自行修改目录.
第二个if 干掉旧项目包
mv -f 是将maven打的包移动到我指定的目录下,并改名
nohup 是后台运行java包 (> : 日志目录文件) (2>&1 & : 好像是后台写入日志 )

我这里Jenkins下载项目源码的路径:/root/.jenkins/workspace/

至此配置完成,点击项目的立即建构就可以自动执行 拉取项目,杀死进程,打包项目,运行项目了.

有的项目如果maven没有帮你打包(我就碰到一个子项目没帮我打包),可以在脚本里自己执行maven打包的命令: cd到子项目源码目录 执行(mvn clean package -Dmaven.test.skip=true) 这样一样可以得到jar包

总之理解流程,不要少了流程就行.修改jar名字和移动目录到哪里哪里都是可有可无的.

最后再提一次Jenkins打包发布流程:1:Jenkins拉取项目源码.2:干掉需要重新发布的项目进程.3:源码打包.4:运行新的项目包

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值