前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >运维自动化基础建设|企业级工件库选择和搭建

运维自动化基础建设|企业级工件库选择和搭建

作者头像
追马
发布2020-07-02 16:33:53
5940
发布2020-07-02 16:33:53
举报
文章被收录于专栏:一日一工具

运维自动化基础建设|企业级工件库选择和搭建

相信大家接触比较多的可能是本地YUM源的建设工作,本地YUM源建立好之后给我们带来的收益相信不用我多说,大家都是比较认可的,那么接下来的文档我们来聊聊企业里常见、常用的工件库都有哪些。文档中所列工具基本都支持Docker部署,我就不实地演示了。

搭建内部工件库(私服)能给我们带来什么

•加速CI/CD的响应,减少等待•避免关键代码泄漏(站在安全角度)•为规范化建设提供基石•统一管理依赖•工件的生命周期的管理

业内主流的工件库

头部的两个

•Sonatype Nexus[1]•标级通用制品库管理平台-杰蛙[2]

其他的

•npm专用的•sinopia•Verdaccio•cnpmjs•docker专用的•Harbor•docker Registry•composer专用的•packagist•satis•Toran Proxy•python专用的•pypiserver•R专用的•other

如何选择

杰蛙

杰蛙分社区版和商业版,社区版支持的包管理较少,如果公司项目选型是基于全Java语言的话,用杰蛙的社区版基本能覆盖需求,如果是涉及到多语言,JAVA,PHP,Nodejs等多语言的场景下,杰蛙的社区版可能就有些捉襟见肘了,话说回来,杰蛙的商业版并不是每个公司都能承担得起的。下图我贴上对比大家可以看下

PS: 如果真的能够购买商业版,企业内部一站式DevOps基本能解决一大半了,试用了下这个东西,是真的强大,尤其是组件(工件)生命周期管理这一块。

Sonatype Nexus

其实Nexus也是有社区版和商业版,与杰娃不同的是,Nexus的社区版功能也足够强大,足以满足80%以上的场景需求,各种包管理的支持也可以通过官方的或三方的插件来实现。

接下来我们来重点聊聊 Sonatype Nexus

为什么选 Sonatype Nexus, 我们碰到了什么疼点呢?

•站在OPS的角度来看,每个语言维护一个工件库,成本有点大,尤其是在Docker还没有那么普及的场景下,部署起来也是一个成本•每一个工件库都要专门写一个对应的文档,广而告之大家这个工具应该怎么使用•维护多套域名映射到不同的工件库上•RD查询包信息的时候可能需要登陆多个平台进行操作(比如同时写PHP和JAVA的RD)•并不是每个工件库都能提供完善的基于角色的账号管理体系,账号的维护也是一个不小的问题•元数据分布在各个节点,需要二次汇总•CI/CDCMDB和各工件库的对接都要来一遍,加大工作量•还是有些场景下存在git submodule来实现依赖的管理

我们用 Sonatype Nexus 的场景

包管理这一块的实现

•mvn包管理支持•composer包管理支持 (需插件支持)•npm包管理支持•python包管理支持•go的proxy支持•yum包管理支持•自定义包上传

其他功能

•基于LDAP的认证•和CI/CD集成

个人感受

开始的时候确实如前文所讲,针对每个包管理工件进行了专用的工件库的搭建操作,由于各种原因,维护起来并不是很轻松(非单纯的维护机器或应用的可用性),要协助答疑和排障工作,接触到Nexus之后,真的是解救了我们,单个入口实现多语言的工件库实现工作,而且和CI/CD的对接工作相对来说轻松了很多,Nexus提供API接口供用户操作。

另外一个层面就是从之前维护gitlab代码库组作为被依赖的组件改成由Nexus托管之后,工程化建设工作又向前迈了一大步。

TIPS

当前GITHUPGitlab也已经具备了工件库的功能,相信这块在大厂的参与下未来会更好,为企业的NoOPS赋能~

遗憾的是,Nexus页面访问确实有点慢,另外就是工件生命周期管理这块社区版并不能很好的支持,要不然人开什么企业版~

总结

工件库的建设的目的在前面也有描述,更多的是能为我们后续的CMDB的元数据规范和工程化建设提供一个良好的基石。敬请期待后文

引用链接

[1] Sonatype Nexus: https://www.sonatype.com/ [2] 行标级通用制品库管理平台-杰蛙: https://www.jfrogchina.com/

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 链上追马 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 运维自动化基础建设|企业级工件库选择和搭建
    • 搭建内部工件库(私服)能给我们带来什么
      • 业内主流的工件库
        • 头部的两个
        • 其他的
      • 如何选择
        • 杰蛙
        • Sonatype Nexus
      • 接下来我们来重点聊聊 Sonatype Nexus
        • 为什么选 Sonatype Nexus, 我们碰到了什么疼点呢?
        • 我们用 Sonatype Nexus 的场景
        • 个人感受
      • TIPS
        • 总结
        相关产品与服务
        容器镜像服务
        容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档