自动化构建与部署解决方案

自动化构建与部署解决方案是面向DEVOPS敏捷开发的业内领先的解决方案,帮助企业实现一站式软件开发、发布管理平台,支持瀑布和敏捷的开发模式,以提升研发、测试、发布效率为目标,实现对需求、代码、编译构建、成品库、部署/回滚等软件开发交付全过程要素的统一管理,通过自动化流水线打通产品质量闭环,提升配置管理、编译打包、部署发布的规范性和高效性,支持企业应用和App类应用的发布;同时将软件研发、交付各环节的结果及时反馈,强化需求、研发、测试、运维等各类角色的协同和配合,真正实现多快好省的软件交付目标。

image.png 

二、解决方案

 2.1 全生命周期自动化持续构建、持续发布

image.png

 

 2.2 功能框架

 2.3功能简介

代码版本管理☆:

支持集成市场主流的代码版本管理工具,如:SVN、GITLAB等,支持不同的分支管理策略,如主干开发或分支开发模式。支持代码冲突模拟检测,不同分支管理策略下的代码分支合并、代码回滚等功能。支持与已有需求管理或ALM系统集成。

代码/环境比对管理☆:

支持目录、文件、二进制文件的比对,提供概览和差异内容的详情比对报告。支持实时比对和定时比对机制。

持续集成☆:

持续集成支持多种编译工具(ant、maven、gradle),同时可以根据用户已有的编译工具进行集成,支持J2EE、Android、IOS的编译,支持增量和全量打包,支持多工程多包依赖等复杂情况的编译打包。

静态代码扫描:

可以实现对Java、JavaScript、python等源码的语义分析,内置大量的扫描规则,能够发现潜在的代码缺陷和问题(如空指针、DB连接未关闭等)

DB脚本执行管理☆:

集中化的数据库脚本执行管理,可以实现DDL、DML类脚本的自动化或人工执行,并记录脚本执行状态和版本。

脚本库管理:

实现各类脚本的上传、下载、维护等。

成品库管理☆:

实现对J2EE类应用增量成品包或全量成品包以及数据库脚本(DDL、DML)的集中管理实现对Android、IOS类APP的集中存放和二维码发布

流水线管理☆:

包括持续集成和持续部署流水线的编排定义、自动触发|定时触发|人工一键式执行等场景,采用参数化流水线的设计模式,通过不同的参数传递,大大减少流水线的数量和维护工作量;同时可以按照用户角色实现流水线的权限控制。

资源管理

以业务系统为主线,实现环境(测试环境、生产环境等)、服务器、应用组件等资源配置管理、代码分支信息、工程信息、部署参数、脚本信息、流水线信息的统一管理。

持续部署

支持灵活的部署策略(并发、分组、分批、定时),可以实现对应用部署和数据库脚本部署的自动化流水线执行。支持市场主流商业应用中间件如weblogic、websphere以及单机、HA、集群部署架构下的应用部署;支持发布时间窗口的策略定义与控制。

日志管理:

支持对持续集成、持续部署各阶段任务执行的详细日志的存储、检索、展现

用户权限管理:

支持与LDAP等统一身份认证系统集成,也支持本地认证方面;采用RBAC(基于角色的访问控制),通过功能权限与资源权限的二维矩阵分配,实现灵活的权限分配

通知与反馈:

支持用户订阅持续集成和持续部署过程中的结果和过程内容,实现持续反馈机制

 

 三、 方案优势

 亮点1:通过新建或集成已有系统,实现从需求-代码管理-持续集成-持续部署与发布,形成需求研发闭环,提供端到端软件交付的全过程要素管理。

 亮点2:参数化流水线的设计模式,通过面向持续集成和部署发布等场景的配置数据管理与消费,简化流水线设计难度和维护工作量

 亮点3:支持主干开发和分支开发两类分支管理模式,提供代码模拟冲突检测及合并撤版功能,大大简化日常配置管理工作。

亮点4:不仅支持企业和移动App类的应用部署发布,还支持数据库脚本的发布。

亮点5:支持应用的增量和全量方式的软件成品存储、管理及发布