转载

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

关注世界领先 DevOps 平台 JFrog

前言

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

TDS,TaikangcloudDevOps Service(泰康云DevOps服务平台)是整合敏捷开发与DevOps的研发管理工具,提供产品规划、项目管理、Git/Svn代码托管、Sonar代码检查、Jenkins持续集成和持续发布(CI/CD)、制品管理等能力,让复杂的研发协作更简单,帮助组织团队来完成软件生命周期管理,从而更快、更频繁地交付更稳定得软件。从需求管理到代码审查,优化开发流程,简单易用,让开发流程更高效。

  • 是一款企业级软件开发协作系统。

  • 实现细粒度的访问控制,管理 Git 存储库,确保代码的安全。

  • 实现高效的Sonar代码审查功能,协同合并请求,保障代码提交的安全性及专注性。

  • 项目中使用JIRA任务管理与代码托管无缝衔接,保障开发流程的可追溯性。

  • 文件管理、Wiki模块可记录整个项目的来龙去脉,让项目协作清晰便捷。

  • 使用Jenkins持续集成le提供安全、稳定、高效的企业软件开发协作平台,并提供Pipeline As Code的配置模式。

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

TDS是泰康保险集团沉淀多年的研发运营一体化支撑体系,承担着数百款业务CI/CD的使命。tds的服务支撑覆盖到人寿、健康险、车险、医疗、养老、护理等不同领域的业务,这些业务来自于自研或者代理,研发团队间的技术栈以及设计理念不同导致了游戏架构差异性和复杂性,也给CICD应用在包交付模式和灵活的编排上提出更多的挑战。研发与运维团队职责不同和环境差异化,在版本交付过程中版本因环境差异带来的问题,导致沟通成本非常高。研发团队在日常版本构建过程中,往往容易忽略代码检查以及安全扫描的事项,版本包外发现导致了业务出现问题等。以上种种问题,都使得CICD的产品设计理念以及如何串连各大工具链,让业务在安全保障,版本稳定,效率提升上获得到最大收益,成为了CICD设计和实践的首要任务和重要挑战。

TDS的CI/CD设计与实践

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

DevOps的基础是自动化,需要一系列的工具来支撑,目前业界主流方式是基于开源工具链打造稳定可靠、敏捷的CI/CD流水线;Jenkins凭借其良好的设计和强大的社区成为了我们的选择,jenkinspipeline 2.0强大而灵活,是企业级DevOps流水线实现的不二选择;虽说是研发与为一体化,然而开发团队和运维团队对流水线的需求是不一样的,研发团队偏向CI,而运维团队偏向CD,对工具链平台还有流水线的设计提出了挑战;TDS平台由原来的CI/CD融合流水线模式演进到了CI、CD可自由分离+自由组合的模式;在CI/CD分离的模式化,原有的简单FTP模式不再适应,对制品平台的管理和使用提出了更高的要求;

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

所以建设企业级的统一软件制品仓库成了一个必然选择,需满足企业级的高可用、多租户、多项目、安全扫描、灵活的质量阈、多组织架构人员等需求;

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

使用 JFrog Artifactory实现全球化仓库管理和工具链集成

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

企业级制品仓库需具备的能力:

软件制品是指由源码编译打包生成的二进制文件,不同的开发语言对应着不同格式的二进制文件,这些二进制通常可以直接运行在服务器上;制品库(Repository Manager)用以管理源代码编译后的构建产物,支持Docker、Maven、Helm、npm、PyPI 包等常见制品库类型。制品库可以跟源代码协同进行版本化控制,可以与本地各构建工具和云上的持续集成、持续部署无缝结合,并支持漏洞扫描等特性,是一种企业处理软件开发过程中产生的所有包类型的标准化方式。起了两方面的作用:

  • 作为外部第三方制品库的内部镜像。

  • 发布内部开发的制品。

软件厂商也是按照这个思路在操作,以市面上主流的产品 Nexus 的Proxy / Hosted、JFrog Artifactory的 Remote / Local Repositories,前者作为镜像后者作为内部库,但是等事情进一步复杂时,一些概念开始变得混乱。以 Maven 为例,并不是所有的 Jar 包都是这个体系的,如 IBM DB2 的 JDBC Jar,在 Maven Central Repository 或其他Public Repository 都不存在,只能去相应厂商网站手工下载并上传至 Hosted / LocalRepository 供内部引用。从功能上讲,这么做没有问题,绝大多数用户也是如此操作;但是无论从终端用户的使用、还是服务本身的运维,其实是将两件不同性质的事情混淆在了一起。无论是从 Proxy / Remote Repository 自动镜像,还是用手工方式下载上传到Hosted / Local Repository(可以看作手工镜像),这些制品本质上都是第三方库;而内部开发构建并发布到 Hosted / Local Repository 的制品,却是企业自己的软件资产。这两者在特性上的差别比想象中要大得多,本文不做展开,以后另外发文展开讨论;我们最终选择了Jfrog 的Artifactory做为企业Repository Manager,其能提供强大的全栈软件支持、元数据收集、安全扫描、主流DevOps工具链支持、高可用架构等能力;

企业级制品仓库需具备的能力:

为适应复杂的软件交付流程,tds团队搭建了 tds pipeline2.0,包括Git/SVN,Jenkins集群,Artifactory制品及元数据仓库,使用SonarQube做代码检查,Jfrog Xray做二进制包检查,使用tds的标准运维流程进行非容器的部署使用及Helm Kubernetes的容器部署;鉴于各事业部和业务开发团队的管理需求,tds团队利用artifactory的repos-path灵活搭建各级制品仓库,配置权限,使用snapshot-release管理制品的生命周期;

这样的好处是,Jenkins集群无需在临时存放构建物,做到了CI和CD的完全分离,构建环境更加灵活、资源利用率也大大提高,开发团队可以更加快捷的拿到历史构建物并进行版本管理,关联CI数据。QA团队可以基于构建物发起部署,挑选上线包,协作更加灵活;

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

总结

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

本文就软件制品仓库对于DevOps交付实践的作用做了简述,实现CI/CD的完全分离和元数据的管理是构建企业DevOps平台的必由之路,这也是进行软件生命周期管理和质量分析、研发度量的基础,微服务和云原生对CI/CD提出了新的要求:更高、更快、更强;下一步泰康云TDS团队将继续加强DevOps工具链的建设和开发,对接运营体系工具:监控、链路追踪、CMDB、微服务网关等,为业务开发提供强有力的支持,基于云提供更便捷的研发基础设施。

出处:本文转自公众号“泰康云中心”如有侵权,请联系我们

下载 JFrog Artifactory 企业版(免费试用): https://www.jfrogchina.com/artifactory/free-trial/

下载 JFrog Artifactory 开源版(代替 Nexus):

http://www.jfrogchina.com/open-source/

下载 JFrog JCR 免费版:

https://jfrog.com/container-registry/

想了解更多国内外 DevOps 实战案例,扫描下方二维码关注“ JFrog杰蛙DevOps ”公众号,在后台回复“ devops ”,即可免费获取DevOPs入门到精通实战视频及PPT学习资料。

泰康云DevOps平台实践-企业级软件制品仓库JFrog Artifactory

长按二维码关注

原文  http://mp.weixin.qq.com/s?__biz=MzIwMzc4NDY4Mw==&mid=2247488287&idx=1&sn=a0f450c76d7955a4572446bc56fea38d
正文到此结束
Loading...