Jorgen's blog Jorgen's blog
首页
  • 平台架构
  • 混合式开发记录
  • 推送服务
  • 数据分析
  • 实时调度
  • 架构思想

    • 分布式
  • 编程框架工具

    • 编程语言
    • 框架
    • 开发工具
  • 数据存储与处理

    • 数据库
    • 大数据
  • 消息、缓存与搜索

    • 消息队列
    • 搜索与日志分析
  • 前端与跨端开发

    • 前端技术
    • Android
  • 系统与运维

    • 操作系统
    • 容器化与 DevOps
  • 物联网与安全

    • 通信协议
    • 安全
    • 云平台
收藏
  • 关于我
  • 终身学习
  • 关于时间的感悟
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

jorgen

Love it, make mistakes, learn, keep grinding.
首页
  • 平台架构
  • 混合式开发记录
  • 推送服务
  • 数据分析
  • 实时调度
  • 架构思想

    • 分布式
  • 编程框架工具

    • 编程语言
    • 框架
    • 开发工具
  • 数据存储与处理

    • 数据库
    • 大数据
  • 消息、缓存与搜索

    • 消息队列
    • 搜索与日志分析
  • 前端与跨端开发

    • 前端技术
    • Android
  • 系统与运维

    • 操作系统
    • 容器化与 DevOps
  • 物联网与安全

    • 通信协议
    • 安全
    • 云平台
收藏
  • 关于我
  • 终身学习
  • 关于时间的感悟
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 平台架构
  • 技术选型
  • 开发脚手架
  • UI规范
  • 开发规范
  • 代码分支管理模型
  • 需求分析与管理
  • 权限设计
  • 树形组织设计
  • 协议设计
  • 指令交互
  • OTA
  • 规则引擎
  • 数据流转
  • 报告生成与导出
  • 监控设备接入
  • 时序数据库
  • 平台监控
  • 云⛈
  • 接口设计
  • 安全传输
  • CI&CD
    • 背景
    • 自动构建后端
      • 插件安装
      • 准备构建环境
      • 配置
      • 创建项目
      • 根据分支来构建代码配置
      • maven打包
      • 查询打包产物
      • 远程传输
    • 自动构建前端
      • 环境变量检查
      • 构建打包
  • 缓存
  • 消息处理引擎
  • 性能调优🔥
  • 线上事故🔥
  • 混合式开发记录
  • 推送服务
  • 机器人通信协议
  • 数据分析
  • flink模板工程
  • 实时调度
  • 机器人模块化设计
  • STM32入门
  • 开发日志
Jorgen
2023-02-18
目录

CI&CD

# 背景

持续集成(CI)和持续发布(CD)是一种现代化软件开发流程,它将软件开发过程中的各个环节自动化,并且能够快速地进行测试、编译、构建、部署和发布等流程。

这种流程的出现,可以带来以下好处:

  1. 提高软件质量:持续集成可以将代码和测试自动集成,每次代码提交后就可以进行测试和构建,及时发现和解决问题,从而提高软件质量。

  2. 提高开发效率:持续集成可以让开发者快速得到反馈,及时修复错误,避免出现问题的积累,提高开发效率。

  3. 快速部署:持续发布可以将代码自动部署到生产环境中,从而减少手动干预的错误,同时能够快速响应用户需求,缩短软件上线时间。

  4. 减少风险:持续集成和持续发布可以自动化执行测试、构建和部署等环节,降低了人为操作的风险,从而减少软件发布过程中的潜在问题。

  5. 提高团队协作效率:持续集成和持续发布可以帮助团队协作和沟通,让开发、测试和运维人员在同一流程中协作,从而提高效率和减少沟通成本。

总之,持续集成和持续发布可以提高软件开发的效率和质量,同时减少风险和成本。随着现代软件开发的发展,它们已经成为了一种必要的软件开发流程,为软件开发和部署提供了更加高效和可靠的解决方案。

# 自动构建后端

# 插件安装

✅publish-over-ssh # 用途: 用于A服务器构建好的产物传输到到B服务器

✅git-parameter # 用途: 参数化构建,后续可以根据分支来进行打包 CI/CD

# 准备构建环境

✅git ✅maven ✅jdk(>=1.8)

CI/CD

# 配置

点击Manage Jenkins再点击Global Tool Configuration CI/CD

  1. maven环境配置 CI/CD

  2. JDK环境配置 CI/CD

  3. git环境配置 CI/CD

  4. maven安装配置 CI/CD

如果操作过程中,没有报错。意味着配置完成了。

# 创建项目

CI/CD

# 根据分支来构建代码配置

效果图: 可以看见仓库所有的分支

CI/CD

仓库分支展示:

CI/CD

Jenkins分支展示

CI/CD

拉取代码展示:

CI/CD CI/CD CI/CD

已经成功从对应仓库拉取代码。

# maven打包

编辑打包指令,执行打包操作

/usr/local/maven/bin/mvn -DskipTests=true clean install
1

CI/CD

构建中 CI/CD

构建成功 CI/CD

# 查询打包产物

每个服务打包的产物不同,需要各自cd到指定文件夹的target目录下。

CI/CD

# 远程传输

我们首先需要配置下ssh密钥保证正常通信,首先点击Manage Jenkins在点击Configure System CI/CD

找到Publish over SSH CI/CD

CI/CD

CI/CD

如果需要新增其他服务器,这么配置

CI/CD

点击保存。回到自由项目配置,点击增加构建步骤里的Send files xxxxxx SSH

CI/CD

CI/CD

查看B服务器中根目录下project.文件夹,就可以发现xjar已经推送过来了 CI/CD

后端打包,并且发布其他服务器告一段落。剩下的可继续在后面增加可执行脚本,将目标服务器的文件备份与重启服务。

# 自动构建前端

# 环境变量检查

[root@localhost bdg01-web]# echo $PATH 
/usr/local/node/bin:/usr/lib64/qt-3.3/bin:/root/perl5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/java/bin:/usr/local/maven/bin:/root/bin
1
2

CI/CD CI/CD

# 构建打包

打包完成后,类似后端jar包推送到B服务器。

CI/CD CI/CD

#CI#CD
上次更新: 2023/03/04, 23:09:29
安全传输
缓存

← 安全传输 缓存→

最近更新
01
STM32入门
03-09
02
ADB调试
03-09
03
微信小程序学习记录
02-09
更多文章>
Theme by Vdoing | Copyright © 2019-2025 Jorgen | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式