当前位置: 首页 > news >正文

尚品汇-Jenkins部署构建服务模块、Linux快照备份(五十七)

目录:

(1)构建作业(server-gateway)

(2)构建service_product模块

(3)演示添加新代码

(4)学会使用linux快照

 

(1)构建作业(server-gateway)

pom加上一个打包的插件,指定打包的名称 

 

 

 

点击创建一个新任务

进入创建项目类型选择页面

我的视图中找新建任务

server-gateway

填好信息点击“确认”

配置“General”

配置“源码管理”

填写源码的git地址(gmall-parent项目git地址)

 

点击添加jenkins 添加git用户,git的用户名与密码

 

构建作业

注:docker.sh,其他服务都一样,只是调整以下三项配置:

cd ./server-gateway   //当前目录为:gmall-parent
service_name="server-gateway"        //当前服务名称:server-gateway
service_prot=80
                   //当前服务端口:80
 

选择“执行shell”

shell命令如下:

#!/bin/bash
#maven打包
mvn clean package
echo 'package ok!'
echo 'build start!'
cd ./server-gateway
service_name="server-gateway"
service_port=80
#查看镜像id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
thenecho "exist $SERVER_NAME image,IID=$IID"#删除镜像docker rmi -f $service_nameecho "delete $SERVER_NAME image"#构建docker build -t $service_name .echo "build $SERVER_NAME image"
elseecho "no exist $SERVER_NAME image,build docker"#构建docker build -t $service_name .echo "build $SERVER_NAME image"
fi
#查看容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
thenecho "exist $SERVER_NAME container,CID=$CID"#停止docker stop $service_name#删除容器docker rm $service_name
elseecho "no exist $SERVER_NAME container"
fi
#启动
docker run -d --name $service_name --net=host -p $service_port:$service_port $service_name
#查看启动日志
#docker logs -f  $service_name
service-product:
#!/bin/bash
#maven打包
mvn clean package
echo 'package ok!'
echo 'build start!'
cd ./service/service-product
service_name="service-product"
service_port=8206
#查看镜像id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
if [ -n "$IID" ]
thenecho "exist $SERVER_NAME image,IID=$IID"#删除镜像docker rmi -f $service_nameecho "delete $SERVER_NAME image"#构建docker build -t $service_name .echo "build $SERVER_NAME image"
elseecho "no exist $SERVER_NAME image,build docker"#构建docker build -t $service_name .echo "build $SERVER_NAME image"
fi
#查看容器id
CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
thenecho "exist $SERVER_NAME container,CID=$CID"#停止docker stop $service_name#删除容器docker rm $service_name
elseecho "no exist $SERVER_NAME container"
fi
#启动
docker run -d --name $service_name --net=host -p $service_port:$service_port $service_name
#查看启动日志
#docker logs -f  $service_name

注:--net=host docker4种网络模式之一

host模式,使用--net=host指定。

使用宿主机的ip和端口

 

保存上面的构建作业

参考文档:https://www.cnblogs.com/gispathfinder/p/5871043.html

构建

构建作业之后,就可以执行构建过程了。

执行构建过程

镜像就有了 

 容器也正常运行了

构建结构

第一列是 "上次构建状态显示",是一个圆形图标,一般分为四种:

蓝色:构建成功;

黄色:不确定,可能构建成功,但包含错误;

红色:构建失败;

灰色:项目从未构建过,或者被禁用;

如上显示蓝色,表示构建成功。

注意:手动触发构建的时间与自动定时构建的时间互不影响。

查看控制台输出

日志内容:

(2)构建service_product模块

引入打包插件 

 

 

 

注:其他模块构建方式一样,可选择“复制”上一个模块构建,修改配置即可,如图

 

复制之后,会把server-gateway的构建步骤拿过来,进行修改即可 

修改shell 

这个时候就可以访问service-product里面的接口了:可以直接访问内部的接口

 通过前面的网关80访问这个 service-product内部接口,网关进行了过滤

通过前面的网关访问这个 service-product接口

(3)演示添加新代码

 

 

(4)学会使用linux快照

通过不备份快照,来防止我们把环境搞错了,搞错后直接回复到正常的快照 

 

 快照管理:

 

2024-09-22 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Maya---机械模型制作
  • Webshell机制绕过的个人理解总结
  • 手写SpringMVC
  • SQL查询中字段选择的两种写法:select * VS select 字段名
  • C#/.NET/.NET Core技术前沿周刊 | 第 6 期(2024年9.16-9.22)
  • Elastic 的 OpenTelemetry PHP 发行版简介
  • ICM20948 DMP代码详解(37)
  • 【MyBatis】Java 数据持久层框架:认识 MyBatis
  • js进阶——作用域闭包
  • 【JS代码规范】如何优化if-else代码规范
  • 【探索数据结构与算法】插入排序:原理、实现与分析(图文详解)
  • 【C++篇】引领C++模板初体验:泛型编程的力量与妙用
  • ElasticSearch学习笔记
  • FFmpeg开发笔记(五十六)使用Media3的Exoplayer播放网络视频
  • 「C++系列」动态内存
  • 收藏网友的 源程序下载网
  • (三)从jvm层面了解线程的启动和停止
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 2017 前端面试准备 - 收藏集 - 掘金
  • CSS中外联样式表代表的含义
  • EventListener原理
  • Iterator 和 for...of 循环
  • node学习系列之简单文件上传
  • 强力优化Rancher k8s中国区的使用体验
  • 三栏布局总结
  • 中文输入法与React文本输入框的问题与解决方案
  • Unity3D - 异步加载游戏场景与异步加载游戏资源进度条 ...
  • ​十个常见的 Python 脚本 (详细介绍 + 代码举例)
  • (2)nginx 安装、启停
  • (javascript)再说document.body.scrollTop的使用问题
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (PySpark)RDD实验实战——取一个数组的中间值
  • (SERIES10)DM逻辑备份还原
  • (SpringBoot)第七章:SpringBoot日志文件
  • (层次遍历)104. 二叉树的最大深度
  • (二)丶RabbitMQ的六大核心
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)SSM环卫人员管理平台 计算机毕设36412
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (论文阅读11/100)Fast R-CNN
  • (每日持续更新)jdk api之StringBufferInputStream基础、应用、实战
  • (七)Java对象在Hibernate持久化层的状态
  • (三十五)大数据实战——Superset可视化平台搭建
  • (十五)Flask覆写wsgi_app函数实现自定义中间件
  • (四) 虚拟摄像头vivi体验
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • ******之网络***——物理***
  • .NET C# 使用 iText 生成PDF
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .NET开发不可不知、不可不用的辅助类(一)
  • /usr/bin/perl:bad interpreter:No such file or directory 的解决办法
  • @ConditionalOnProperty注解使用说明
  • @html.ActionLink的几种参数格式
  • [Algorithm][动态规划][路径问题][不同路径][不同路径Ⅱ][珠宝的最高价值]详细讲解