资讯专栏INFORMATION COLUMN

DevOps 基于Walle的小型持续集成实战(七)总结

iliyaku / 557人阅读

摘要:当前版本针对于安装版概要整体流程贯通,基本可以达到实用级别。仍旧有很多需要提高的地方发布构建时部署上线服务器卡顿严重,基本不可以多项目发布。

该文章旨在描述从零开始搭建环境,中间遇到的问题以及最终的经验总结。

当前版本针对于2.0 docker安装版

概要

整体流程贯通,基本可以达到实用级别。满足2-5台服务器,少量的应用部署是完全可以的,但达到一定规模之后则Walle和Jenkins的差异马上就出来了,Walle的环境管理,服务器管理,上线通知,和各插件集成在这些巨大差距看来难以逾越。而除开Walle本身,整套设计还有不少可以优化的点,例如编译脚本,容器部署等。

Walle仍旧有很多需要提高的地方

发布构建时(部署上线)服务器卡顿严重,基本不可以多项目发布。

构建队列,不能按队列同时发布多个任务逐一执行

并行构建,不能同时执行通过任务

自定义脚本,针对非git的项目不友善

缺少构建参数,目前仅有git的分支号和提交号,有时候需要传入额外参数作用于启动命令中

环境变量,安装较为困难,docker-compose-python中对各环境变量支持不好。(例如angular-cli,使用起来相当别扭)

该实战中 - 编译脚本可以优化的地方

重复脚本多,可以使用其他方式进行脚本管理,并相互引用。例如直接运行shell,groovy,python等。在环境准备时从git拉去脚本库

远程包发布,在无Ansible加持的情况下,远程多服务器发布的效率不可恭维(虽然比人工强)。

该实战中 - 容器部署可以优化的地方

日志查询难,运行时需要修改为sh方式启动。nohup无法直接使用,导致查询日志时候需要docker log等命令,学习成本较高

服务监控难,docker-compose无法胜任大规模集群机器的监控(还是需要k8s啊)

该实战中 - 经验分享

Docker内openjdk8运行时区不一致:可以直接同宿主机映射时间命令;然后服务启动设置额外参数(参考文章五,java部署篇)

Docker-compose启动,则必须用Docker-compose命令停止;否则docker网络无法关闭会超出30个上线

后续

想当初“docker学起来真麻烦,我又没那么多机器,不管怎么我也不愿意用这些东西”,现在===>“Docker,真香!”

PS:最近可能会开一章k8s + SpringCloud部署实战

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/27886.html

相关文章

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

    摘要:以便对整个持续集成印象加深。配置完各环境发布脚本后,则可以使用构建发起进行触发环境准备。并会在远程环境上存放多次发布的版本,用于回退和切换服务停用。进行等操作,停止原本运行的服务切换启用。 该文章用于建立一个小型的基于Walle的持续集成工具。解决java,react,angular项目的编译发布。以便对整个持续集成印象加深。官方网站:https://walle-web.io/ 适用...

    zr_hebo 评论0 收藏0
  • DevOps 基于Walle小型持续集成实战(一)概述

    摘要:该文章用于概述一个小型持续集成环境的搭建的方案什么是持续集成持续集成作为当今软件开发实践,可以简单理解为团队开发相对频繁的集成他们的工作,一般让每个成员每天至少集成一次,而这回造成每天会有多次的版本发布。 该文章用于概述一个小型持续集成环境的搭建的方案 什么是持续集成? 持续集成作为当今软件开发实践,可以简单理解为团队开发相对频繁的集成他们的工作,一般让每个成员每天至少集成一次,而这回...

    Yangyang 评论0 收藏0
  • DevOps 基于Walle小型持续集成实战(五)基于Walle发布Java应用

    摘要:本章用于讲解如何在下构建和运行。编译发版都是基于的容器,下完成的。 本章用于讲解如何在walle下构建和运行JavaWeb。主要包含SpringBoot,ScalaAkkaWeb应用,以Java -jar和Docker运行两种方式(Tomcat方式不讲,大家自行研究) 新建项目 项目中心 > 项目管理 > 新建项目 以下是一份配置好的项目表 分组 项目 参考 备注 基本配置 ...

    qc1iu 评论0 收藏0
  • DevOps 基于Walle小型持续集成实战(三)Docker与Gitlab

    摘要:自动化测试和持续集成发布。在服务型环境中部署和调整数据库或其他的后台应用。容器与镜像的关系类似于面向对象编程中的对象与类。容器容器是独立运行的一个或一组应用。提供了庞大的镜像集合供使用。 还在按照mysql安装教程一步一步配置服务配置账户吗?还在为每开一个新环境重新配置这些服务感到苦恼吗?使用Docker,服务快速构建部署。解决你的研发时间,早点下班~现代技术,还不会docker你就落...

    since1986 评论0 收藏0
  • DevOps 基于Walle小型持续集成实战(六)基于Walle发布前端React,Angular

    摘要:本章用于讲解如何在下构建和运行前端应用。项目配置服务名称镜像版本映射容器端口到本地端口数据卷映射本地文件到容器映射文件到容器的目录并覆盖文件映射文件夹到容器的文件夹覆盖容器启动后默认执行的命令。环境准备参考文档 本章用于讲解如何在walle下构建和运行前端应用。主要包含React,Angular应用,以Nginx+Docker运行(Vue方式不讲,大家自行研究) 新建项目 项目中心 >...

    tuomao 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<