DevOps 基于Walle的小型持续集成实战(二)设计

栏目: 服务器 · 发布时间: 4年前

内容简介:该文章用于建立一个小型的基于Walle的持续集成工具。解决java,react,angular项目的编译发布。以便对整个持续集成印象加深。官方网站:大规模集群复杂的构建脚本,请学习Jenkins+Ansible+K8S等生态

该文章用于建立一个小型的基于Walle的持续集成工具。解决java,react,angular项目的编译发布。以便对整个持续集成印象加深。

官方网站: https://walle-web.io/

适用场景

  • 小型服务集群(选用Docker-Compose ; 不使用Ansible)
  • 简易构建脚本(选用Walle)

大规模集群复杂的构建脚本,请学习Jenkins+Ansible+K8S等生态

基本思路

  • 使用Walle替代Jenkins作为构建方案,简化部分操作。但整体的自定义程度会缺失(例如拉去多git路径进行统一编译,不支持额外构建参数的传入)
  • 使用Docker-Compose作为单机容器编排分方案
  • 环境使用Gitlab作为代码管理,Nexus作为包私有仓库

操作流程

  • 研发环境搭建

    • Gitlab 搭建和基本操作
    • Nexus 搭建(可选)
    • Maven 发布
    • Npm 发布
    • Docker 发布
  • 持续集成

    • Docker 安装和基本操作
    • Walle 安装和基本操作
    • Java 前端项目构建脚本
    • React/Angular 后端项目构建

数据流程

整体流程会串联整个环境上各技术点,最终形成完整的持续集成方案。

DevOps 基于Walle的小型持续集成实战(二)设计

  • 发起构建。配置完各环境发布脚本后,则可以使用构建发起进行触发
  • 环境准备。初始化环境参数,例如antd-pro的 npm install -g umi 或者 npm install -g @tarojs/cli@1.2.11
  • Nxues拉取环境相关包。包私有仓库会加速 npm install 以及 mvn compile 的下载速度,以及支持私有包的下载
  • 代码检出。根据branch的commit进行代码检出操作
  • 代码编译。使用 mvn clean compile package -Dmaven.test.skip=true or npm run build 等编译脚本,或者进行预处理(例如解压node_modules)
  • 远程登录。通过shh连接远程服务器
  • 本地版本。压缩内容,并发送到远程服务器上打包。并会在远程环境上存放多次发布的版本,用于回退和切换
  • 服务停用。进行 kill 等操作,停止原本运行的服务
  • 切换启用。通过软连接替换新的本地版本映射到运行路径,再进行服务启动
  • 构建完成。可以进行钉钉或者邮件发送。

以上步骤中,在使用Walle的方案下,会集成[代码检出],[远程登录],[本地版本],[切换启用-切换部分],[构建完成]等步骤,且会自动化删除过程文件

成果展示

项目列表

DevOps 基于Walle的小型持续集成实战(二)设计

项目详情

DevOps 基于Walle的小型持续集成实战(二)设计

部署管理

DevOps 基于Walle的小型持续集成实战(二)设计

部署日志

DevOps 基于Walle的小型持续集成实战(二)设计

后记

:warning: 以上虽然看起来很复杂,实际情况下会更为复杂。容我们一步一步的解决各问题。


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

社交网站界面设计

社交网站界面设计

Christian Crumlish、Erin Malone / 樊旺斌、师蓉 / 机械工业出版社 / 2010-9-1 / 69.00元

《社交网站界面设计》提供100多种模式、原则以及最佳实践,并针对在设计社交网站时经常遇到的问题给出明确建议。本书将提供给你培养用户交互习惯和构建社区最具价值的参考。 本书作者将与你分享难得的经验,教会你平衡各种不同的因素,并与你的用户共同构建和谐健康的网络社区。 本书教会你 掌握创建任何网站时都会用到的原则 学习基本设计模式,以便向现有的网站中添加新的社交组件 学会在......一起来看看 《社交网站界面设计》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具