jenkins远程部署

说明:v2.0实现拉取远程git项目自动打包部署到远程服务器上,由于项目git需要专用域网络才能访问,远程服务器安装jenkins无法连接到git地址,所以,此文中jenkins安装在本地。

由于本人也不是很熟,如果文中有错误的地方,也希望大家指正。

一、jenkins安装
1.下载
地址:https://jenkins.io/zh/download/
2.安装
由于图片的复制挺麻烦,所以安装直接参考我前一篇文档,这是Windows版本,linux版本大家可以查看其它资料安装,已安装的可以直接跳过这里,地址:https://blog.csdn.net/weixin_44251399/article/details/88660019

二、Jenkins使用
1.全局设置。
(1)系统设置-插件管理-可选插件里面搜索安装Publish over SSH,Maven Integration plugin两个插件,安装了插件之后,在全局设置里面设置,其他设置默认就行。
在这里插入图片描述
(2)配置jdk、git、maven,jdk不选自动安装,git、maven没安装可以选自动安装。
在这里插入图片描述
2.创建任务
拉取git上面的项目并打包部署方式
(1)新建任务
在这里插入图片描述
在这里插入图片描述
复制已有的任务的话,下方会有一个选项可以直接复制已有任务的配置。

任务配置(一次性部署工程下所有服务)
(2)任务配置页需要选择的地方

在这里插入图片描述
在这里插入图片描述
clean package
在这里插入图片描述
clean package
在这里插入图片描述
cd /data/apps/api-service
./start.sh
在这里插入图片描述
任务配置(用于部署工程下部分服务,额外新建任务)
其他设置不变,更改两处设置。
在这里插入图片描述
clean
compile
package
-Dmaven.test.skip=true
在这里插入图片描述
在这里插入图片描述

(3)设置完成之后,点击应用就可以。

直接上传部署本地jar包的方式(不推荐,不如直接上传jar包到服务器上,然后运行脚本算了)
需要设置的地方(描述)

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

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

3.运行任务
(1)主页面可以看到创建的任务,点击创建按钮就可以
在这里插入图片描述
(2)任务详情页
在这里插入图片描述
(3)点击开始创建,左下角点击可以看到输出日志,显示success之后,服务就启动成功了,可以去start.sh脚本对应的输出日志里面查看启动日志。
在这里插入图片描述
在这里插入图片描述

4.脚本内容(start.sh),记得赋予脚本权限。
chmod 755 start.sh
#脚本存放在服务器/data/apps/api-service目录下
#说明:
#(1)本地jar包存放在D:\develop\jenkins\workspace\ceshi007(这是jenkins建立的任务名)\target目录下
#(2)jenkins上传jar包存放在服务器/data/apps/api-service/tmp/目录下
#(3)新增服务上传的时候在下方按照格式新增即可,会自动部署上传的jar包服务
#(4)新增后,把本业内容全选-复制,粘贴至/data/apps/api-service/start.sh中;
#或者在linux上执行 dos2unix 脚本名(推荐)。
#(win下的换行是回车符+换行符,也就是\r\n,而unix下是换行符\n。linux下不识别\r为回车符,是脚本编码的问题。)
#(5)如果上传的jar包没有在这里配置条件判断,就不会执行部署,只会上传到指定位置而已。
#刷新配置文件
source /etc/profile
#1
#demo.jar服务条件判断部署
#判断指定位置是否存在文件demo.jar(即是否重新上传了jar包来更新服务)
if [ -f “/data/apps/api-service/tmp/demo.jar” ];
then
#获取服务的pid
jar1=demo.jar
pids1=$(ps -ef | grep $jar1 | awk ‘{print $2}’)
#移动旧版本到bak
mv $jar1 bak/
#移动新版本到/data/apps/api-service目录下
cd tmp/
mv /data/apps/api-service/tmp/demo.jar /data/apps/api-service
#关闭服务
kill -9 $pids1
#返回/data/apps/api-service目录下
cd …
#重新运行服务,输出日志
BUILD_ID=dontKillMe
nohup java -jar $jar1 >…/…/logs/demo.log &
#根据日志判断是否启动成功并输出到jenkins控制台显示
echo $jar1"starting service…"
sleep 1
while true;do
#如果日志文件中存在started字段,则代表启动成功(不严谨,应该使用started 具体
#的application好些,由于有些application没有写具体服务名,这里偷懒统一用started了)
tail -1 /data/logs/demo.log |grep “Started " >> /dev/null
if [ $? -eq “0” ];then
echo $jar1"启动成功 !”
break
fi
tail -1 /data/logs/demo.log |grep “ERROR " >> /dev/null
if [ $? -eq “0” ];then
echo $jar1"启动报错 !”
break
fi
done
#条件判断结束
fi
(添加其他服务格式如上)

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值