传统企业如何打造统一的持续集成平台

一、传统行业打造统一持续集成平台痛点

  • 多团队维护多套工具链,重复任务多、运维成本高。
  • 各团队交付流程不统一么,重复造轮子,知识经验无法共享。
  • 各交付质量、标准不统一,难以形成统一的度量体系。

二、从零到一的解决方案

1.成立团队
该团队初期视公司技术人员规模,可由虚拟组或专属devops工程师组成。该需要具备下述能力:

  • 对需求管理、敏捷有所了解,敏捷教练最佳。
  • 各语言研发专家,制定静态代码检测标准,负责公司技术栈选型。
  • 测试工程师,负责测试工具选型及集成。
  • 运维人员对资源及部署能力及流程进行把控。
  • 需要与安全团队联合,对源码安全及外部组件安全形成统一方案。
  • 由技术运营负责持续集成平台建设成本及收益做评估。
  1. 打造工具链
    由上述团队对工具链选型,对整个软件生命周期全流程进行工具链选型,选型可参考下图,工具能力要覆盖需求管理、开发、构建、测试、发布、部署、运维及监控等多个领域。

  1. 解决持续集成平台在推广中遇到的问题

问题一:开发团队不配合怎么办?
答:构建统一的平台,为不同团队提供全方位的基础平台,减少开发团队自己的运维成本。晓之以情、动之以礼,如果仍然没效果,做详细的资源使用及度量痛点,自上而下调动研发团队配合。

问题二:开发团队担心学习新平台投入时间成本较高怎么办?
答:编写统一的持续集成模版,对开发人员模版化或桌面化提供持续集成服务,让开发人员通过简单的调用或拖拽就能实现复杂的持续集成流水线,不必要去学习大量的脚本语言。(如jenkins的sharelibrary)

问题三:开发团队不安规范使用怎么办?
答:回收持续集成平台权限,让外包或自有研发人员无法对构建模版进行修改,强制每一次持续集成要进行完整的测试和扫描步骤,保障每一个质量关卡都被触发。

  1. 推广的方式
    试点团队先行:试点团队尽量选择关系比较好的、边缘业务团队,先行团队要尽量踩雷、快速反馈,验证工具链及管理方案的可行性,快速迭代工具链及模版内容。
    小范围试用:小范围试用是为了验证平台的通用性,保障平台能适配大多数技术栈。并在试用中持续接受各团队的反馈,持续迭代平台功能。同时要在该阶段定义度量指标及使用标准。
    集团推广:真正实现统一管理,并继续持续改进。
  2. 持续集成过程中的元数据管理
    统一编写模版后需要在模版中强制收集软件生命周期各个工具链产生的数据,我们把这个数据称之为软件的元数据。元数据包括但不限于:需求id、开发者信息、构建环境、依赖组件、测试报告、静态扫描结果、安全扫描结果、部署信息等。最终这些数据将会作为评判此版本的质量关卡,确保每次交付都是高质量的交付。
  3. 持续集成过程中的安全管理
    尽量做到安全扫描左移,在开发侧引入安全扫描,对外部依赖及源码做扫描,尽量避免漏洞在未被测试扫描情况下被引入到生产线上。这样不会造成高危漏洞在生产线上被发现而导致的整个开发迭代过程要重新进行的低效情景。

三,总结
打造传统企业统一的持续集成平台,需要专门的团队打造合适的工具链,并制定合理的规范及度量标准,最终通过不同的方式推广到整个集团。

原文地址:https://blog.51cto.com/jfrogchina/2459019

时间: 2024-10-07 01:23:38

传统企业如何打造统一的持续集成平台的相关文章

使用jenkins构建持续集成平台

jenkins +   Maven + svn/git + tomcat 的持续集成平台 项目管理流程: 需求分析----原型设计----开发代码----提交测试-----内部测试-----确认上线(确认上线前可能经过多种环境的测试) ------上线到生产环境-----最终测试------如果出现问题代码回滚. 传统代码上线: 开发人员开发完成-----打好包(war.jar)-----交给运维人员上线(上传.拷贝) jenkins持续集成简介: 持续集成是一种软件开发实践,对于提高软件开发效

持续集成平台jenkins

一. 什么是持续集成 1. 概念 持续集成(Continuous Integration),也就是我们经常说的CI 持续集成(CI)是一种实践,可以让团队在持续的基础上收到反馈并进行改进,不必等到开发周期后期才寻找和修复缺陷 2. 为什么要使用持续集成 bug总是在最后才发现 越到项目后期,问题越难解决 软件交付时机无法保障 程序经常需要变更 无效的等待变多 3. 多人开发流程图 多人协作开发,由于开发只会测试自己的代码,多人的代码集成在一起,难免会出现这样那样的bug.这时就需要jenkins

pytest系列(四)- pytest+allure+jenkins - 持续集成平台生成allure报告

pytest是什么 pytest是python的一款测试框架,拥有unittest的功能并比它更丰富. allure是什么 有非常多的优秀的测试框架,但却是有非常少优秀的报告工具可以展示非常清楚的用例执行过程和结果. allure是一款开源的,专门用来展示测试结果的工具,目的是希望团队内部每一个人都可以看到非常清楚的测试结果. allure可以与非常多的著名测试框架做集成. 像java语言,可以与junit4,junit5,TestNG测试框架集成. python语言,可以与pytest,beh

Jenkins 持续集成平台构建之通过git提交代码

一.概述 上一篇文章介绍了Jenkins结合svn来构建jar包,本文介绍另一种代码提交的方式git,并结合maven来构建代码包. 实验环境: IP: 10.0.90.27 系统: Centos6.6 x86_64 软件包: Jenkins  2.9 Tomcat   8.0.36 JDK      8.92 maven    3.3.9 git 二.安装步骤 1.安装jdk #rpm -ivh jdk-8u92-linux-x64.rpm  Preparing...             

linux学习:持续集成篇--安装Jenkins持续集成平台-05

一.Jenkins需要使用maven,所以首先安装maven 1.解压 [[email protected] tar]# tar -zxvf apache-maven-3.5.0-bin.tar.gz -C /opt 2.重命名 [[email protected] opt]# mv apache-maven-3.5.0/ maven 3.配置maven环境变量 export JAVA_HOME=/opt/jdk export MAVEN_HOME=/opt/maven export PATH=

2.GitLab与Jenkins 持续集成平台使用方法

1 配置 Jenkins 使用 gitlib 更新代码 2 实现 gitlib 触发 Jenkins 自劢部署 3 增加 Build Pipeline 插件以流程图的形式展示各个 Job 的顺序 15.1 配置 Jenkins 使用 gitlib 更新代码 登录 gitlab http://10.10.10.11/ 用户名: root 密码:yanglin123 登录 jenkins http://10.10.10.11:198/ 用户名: admin 密码: 123456 15.1.1 查看

12.Jenkins持续集成企业实战

阅读目录: Jenkins持续集成企业实战1.1 目前主流网站部署的流程1.2 Jenkins持续集成简介1.3 Jenkins持续集成组件1.4 Jenkins平台安装部署1.5 Jenkins相关概念1.6 Jenkins平台设置1.7 Jenkins构建JOB工程1.8 Jenkins自动化部署1.9 Jenkins插件安装1.10 Jenkins邮件配置1.11 Jenkins多实例配置1.12 Jenkins+Ansible高并发构建 Jenkins持续集成企业实战 构建企业自动化部署

使用Docker实现丝般顺滑的持续集成

持续集成(Continuous Integration,简称CI)作为先进的项目实践之一,近年来逐渐受到国内软件公司的重视:但对于许多朋友来说,可能从未听说过持续集成这个词,抑或只是了解概念但并没有实践过. 什么是持续集成?它对软件开发有哪些好处呢? 持续集成的概念 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile)在软件工程领域越来越红火,如何能在不断变化的需求中快速适应和保证软件质量也显得

有容云老司机带路, 使用Docker实现丝般顺滑的持续集成

持续集成作为最先进的项目实践之一,近年来逐渐受到国内软件公司的重视:但对于许多朋友来说,可能从来都没有听说过持续集成这个词,抑或只是了解一个概念但并没有实践过. 什么是持续集成?它对软件开发有哪些好处呢? 持续集成的概念 持续集成,Continuous integration ,简称CI. 随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题.尤其是近些年来,敏捷(Agile) 在软件工程领域越来越红火,如何能在不断变化的需求中快