项目背景:公司原有应用发布流程依赖手动操作,代码部署耗时长、易出错,环境一致性差,无法支撑业务快速迭代的需求。亟需建立一套自动化、标准化的代码发布体系。
项目职责:独立负责CI/CD系统的整体设计与落地实施。
实施步骤:
架构设计与环境搭建:基于火山引擎容器服务VKE规划容器化运行环境;选用GitLab作为代码仓库,Jenkins作为持续集成引擎,Helm作为Kubernetes应用包管理工具。在VKE集群中部署高可用Jenkins服务,配置GitLab Webhook实现代码推送自动触发构建。
流水线脚本开发与集成:编写声明式Jenkins Pipeline脚本,定义代码拉取、镜像构建与推送、环境部署等阶段;集成Helm,实现通过Helm Chart对应用进行版本化管理与一键部署;设计多环境(开发/测试/生产)隔离策略,通过参数化构建支持不同环境的发布。
应用迁移与流程优化:将公司Java后端与Vue前端应用进行容器化改造,编写Dockerfile并纳入流水线;迁移过程中优化镜像分层与构建缓存,将平均构建时间降低40%;建立发布审核机制,关键环境部署前增加人工确认步骤,确保生产发布安全。
监控与持续改进:集成容器日志与监控体系,通过VKE观测能力跟踪应用发布状态;收集开发人员使用反馈,持续优化流水线稳定性和易用性,实现发布全流程可观测、可追溯。
飞书群发送发布状态:通过调用飞书webhook,将发布状态发送到飞书群,并利用卡点功能指定相关负责人审批