一.简介 制品是软件开发过程中产生的多种有形副产品之一。广义的制品还包括用例、UML图、设计文档等。而狭义的制品就可以简单地理解为二进制包。 本章讨论的是狭义的制品。行业内有时也将制品称为产出物或工件。 最简单的制品管理仓库就是将制品统—放在一个系统目录结构下。但是很少有人这样做,更多的做法是使用现成的制品库。 制品管理涉及两件事情:一是如何将制品放到制品库中;二是如何从制品库中取出制品。由于每种制品的使用方式不一样,因此下面我们分别进行介绍。 二.Jenkins管理制品 从手工打包到自动化打包,再将打好的包放到制品库中。这看似简单,但是要在团队中从无到有地落地其实是一个很漫长的过程,特别是对于存在很多遗留项目的团队。 它能对制品进行归档,然后你就可以从Jenkins页面上下载制品了。
四.拷贝制品 在某些场景下,我们需要从另一个pipeline中拷贝制品,Copy Artifact插件 可以帮助我们实现 steps { copyArtifacts( projectName stable为true表示只取构建成功的制品,为false表示只要构建结果比UNSTABLE好就行。 specific:指定某一次构建的制品。 buildNum ber表示指定取第n次构建的制品 lastCompleted:最后一次完成构建的制品,不论构建的最终状态如何。 方法签名为latestSavedBuild() 五.版本号 谈到制品,就必须谈到版本号的管理。版本号的制定并没有所谓的行业标准。 2.方便找出制品与源码的关系。
当version值是以-SNAPSHOT后缀结尾时,则发布到nexus-snapshot仓库 2.配置访问Nexus的用户名和密码才能发布制品,需要在Maven的settings.xml中加入: <servers 管理raw 进入Administration→Repository→Repositories页,单击“raw ( hosted )”,进入raw仓库创建页,输入仓库名称“raw-example”,单击“ 该仓库的地址是:<你的Nexus地址>/repository/raw-examplel 使用HTTP客户端就可以将制品上传到raw仓库中,使用curl命令 1.在Jenkins上添加“Username curl命令的格式为: curl --user '<username:password>' --upload-file <待上传制品的路径〉〈将制品保存到Nexus上的全路径> 将制品保存到Nexus 3.在Nexus中,我们看到readme.md文件已经上传成功 在Jenkins pipeline中获取原始制品时,我们同样使用curl命令。
什么是制品? 制品是指由源码编译打包生成的二进制文件,不同的开发语言对应着不同格式的二进制文件;这些二进制文件通常用于运行在服务器上或者作为编译依赖,“制品的管理”是配置管理的重要组成部分。 制品管理工具 如上所述,由于制品管理的重要性,所以衍生出来对应的制品解决方案用来统一管理不同格式的软件制品。 也许也是看到单独的制品管理工具,比大而全的DevOps平台更好的切入用户场景吧。 如何管理制品? 为了统一管理不同语言格式的包,以上制品管理工具几乎都按照如下方式管理组织制品。 2021年末的Log4j2的安全事件,引起了整个IT圈的轩然大波,这个开源组件几乎涉及所有的java应用,每个公司不得不紧急排查自己产品是否引入该风险。 总结 制品管理是DevOps实践过程中的重要环节,起着承上启下,收集过程信息的重要角色; 于此同时,制品的引入使用会存在安全风险,组织需要关注这一点,避免类似Log4j2安全事件带来的一系列风险; 作为实践者
(零许可费)后期隐性成本高 (集成、维护、定制、升级、专家人力)功能成熟度开箱即用企业级特性(全类型制品管理、元数据深度关联、生命周期管控)适配复杂业务场景(高频发布、多团队协作)基础制品存储功能完善 商业企业级制品库:嘉为蓝鲸制品管理平台·CPack1)多类型制品统一管控与迁移场景(1)场景需求:企业存在Generic、Docker、Maven等20+类制品,分散存储于Nexus/Jfrog等工具, 3)存储成本控制与云原生协同场景(1)场景需求:企业制品存储占用超量,需优化存储成本,同时实现与Kubernetes的云原生镜像管理,衔接CI/CD流水线自动化部署。 镜像从存储、扫描到部署的全流程管理,无需切换平台;流水线联动:与CCI流水线自动对接,构建完成后制品直接推送至对应环境仓库,测试通过后自动触发部署,减少人工操作。 对于需实现多类型制品统一管控、高频稳定分发,且注重安全合规的中大型企业,嘉为蓝鲸制品管理平台·CPack能有效规避开源工具的后期隐性成本与性能风险,减少制品管理环节的试错成本,成为DevOps转型中制品管理环节的核心支撑
2024 年 7 月 22 - 23 日,在中国信通院承办的第十二届可信云大会上,Gitee Repo 制品管理平台大放异彩,成功通过《可信制品管理能力分级要求》中制品管理能力域、并发性能域、安全能力域 其制品图谱功能可直观可视化依赖关系网,当某组件出现安全风险时,开发者能够快速定位受影响制品。例如,在 Log4j 漏洞事件中,某企业通过图谱分析,仅用 2 小时就完成全局风险排查,成功避免业务中断。 Gitee Repo 支持平台管理与数据分离的权限管理模式,可根据企业内部各研发角色真实职能配置平台级角色,并支持多种仓库权限管理模式,既可以有效管理企业制品资产,又能有的放矢面向企业用户开放制品数据。 结合漏洞、许可证、包版本多个安全策略,可形成对依赖 - 构建 - 分发各个场景下的制品安全管理,提升企业制品安全管理能力。 结语:选择 Gitee Repo,开启制品管理新时代在软件定义一切的时代,制品管理已从后台支持角色跃升为业务创新的核心引擎。
Hadess是一款开源免费的制品管理工具,工具轻量、简洁易用,本文将介绍在Hadess中如何管理GO制品类型。 1、创建Go制品库1.1 Go远程库打开创建远程库界面:点击新建制品库选择新建远程库输入信息点击确认即可代理地址:点击添加代理地址,打开公共源弹窗。 选择地址点击确定即可属性说明:字段是否必填描述制品仓库是制品库类型制品库名称是制品库名称,不能有空格、特殊符号、中文代理地址是第三方地址,拉取远程的文件描述否制品库描述2、Go拉取与查询2.1 拉取Go 制品设置仓库凭证进入go项目打开终端并执行即可 export GO111MODULE=on export GOPROXY=http://172.12.1.20:8081/go/123 拉取:执行文本命令拉取即可 2.2 查询Go制品进入Hadess后点击制品库,可在上方选择制品类型或者直接在搜索框输入制品库名称进行查询属性说明:查询条件描述制品名称通过制品名称模糊查询制品版本制品的版本查询制品组名Go制品的组名
Hadess是一款开源免费的制品管理工具,在上一篇中已经介绍了Hadess安装及配置,这篇文章将介绍如何在Hadess中详细的使用Maven制品。 1、创建Maven制品库1.1 Maven本地库打开创建本地库界面:点击新建制品库选择新建本地库添加信息点击确认即可属性说明:字段是否必填描述制品仓库是制品库类型,默认为Maven制品库名称是制品库名称 选择地址点击确定即可属性说明:字段是否必填描述制品仓库是制品库类型,默认为Maven制品库名称是制品库名称,不能有空格、特殊符号、中文代理地址是第三方地址,拉取远程的文件描述否制品库描述1.3 Maven 2.要将未关联的制品库关联,先鼠标点击需要关联的制品库,再点击中间向右图标,将该制品库放入右边待确认。3.移除关联制品库,鼠标点击需要移除的制品库,再点击向左图标,将该制品库放入左边。 :查询条件描述制品名称通过制品名称模糊查询制品版本制品的版本查询制品组名Maven制品的组名制品详细点击制品,进入制品详情制品文件点击文件tab, 查看文件列表制品文件详细点击文件,打开文件的详情抽屉版本点击版本
Hadess是一款开源免费的制品管理工具,在上一篇中已经介绍了Npm制品详细使用过程,这篇文章将介绍在Hadess中详细的使用Docker制品。 1、创建Docker制品库1.1 Docker本地库打开创建本地库界面:点击新建制品库选择新建本地库添加信息点击确认即可属性说明:字段是否必填描述制品仓库是制品库类型制品库名称是制品库名称,不能有空格、 2.要将未关联的制品库关联,先鼠标点击需要关联的制品库,再点击中间向右图标,将该制品库放入右边待确认。3.移除关联制品库,鼠标点击需要移除的制品库,再点击向左图标,将该制品库放入左边。 2.3 查询Docker制品进入Hadess点击制品库,可在上方选择制品类型也可直接在搜索框中输入制品库名称进行查询属性说明:查询条件描述制品名称通过制品名称模糊查询制品版本制品的版本查询制品组名Docker 制品的组名制品详细点击制品,进入制作详情制品镜像点击文件tab, 查看镜像历史版本点击版本tab查看该制品的历史版本
Hadess是一款开源免费的制品管理工具,在上一篇中已经介绍了Maven制品详细使用过程,这篇文章将介绍在Hadess中详细的使用Npm制品。 1、创建Npm制品库1.1 Npm本地库打开创建本地库界面:点击新建制品库选择新建本地库添加信息点击确认即可属性说明:字段是否必填描述制品仓库是制品库类型制品库名称是制品库名称,不能有空格、特殊符号、中文描述否制品库描述 选择地址点击确定即可属性说明:字段是否必填描述制品仓库是制品库类型制品库名称是制品库名称,不能有空格、特殊符号、中文代理地址是第三方地址,拉取远程的文件描述否制品库描述1.3 Npm组合库打开创建远程库界面 2.要将未关联的制品库关联,先鼠标点击需要关联的制品库,再点击中间向右图标,将该制品库放入右边待确认。3.移除关联制品库,鼠标点击需要移除的制品库,再点击向左图标,将该制品库放入左边。 :查询条件描述制品名称通过制品名称模糊查询制品版本制品的版本查询制品组合Npm制品的组名制品详细点击制品,进入制品详情制品文件点击文件tab, 查看文件列表制品文件详细点击文件,打开文件的详情抽屉版本点击版本
一个设计良好的制品管理平台,不仅是CI/CD流水线的基石,更是保障研发效能与生产稳定性的重要屏障。 制品库作为单一可信源,统一管理软件交付生命周期中产生的所有二进制文件,实现了标准化、安全化、自动化的管理,是DevOps流水线中不可或缺的环节。 嘉为蓝鲸CPack制品管理平台1)核心定位:面向企业级客户的一体化制品库平台,提供安全、可控、高效的制品全生命周期管理能力,并深度契合国内企业的合规性要求。 内置国密算法(如 SM4),默认满足等保 2.0 要求,无需额外配置即可通过合规审计。高性能与高可用:支持集群化部署,轻松应对大规模企业级并发访问。 嘉为蓝鲸 CPack 凭借国产化全栈支持、研运一体化闭环及成本优化设计,成为金融、政务等行业构建高效可靠制品管理平台的优选。
Hadess是一款开源免费的制品管理工具,工具轻量、简洁易用。在上一篇中介绍了Generic制品详细使用过程,本文将介绍如何管理Helm制品。 1、创建Helm制品库1.1 Helm本地库打开创建本地库界面:点击新建制品库选择新建本地库添加信息点击确认即可属性说明:字段是否必填描述制品仓库是制品库类型制品库名称是制品库名称,不能有空格、特殊符号 、中文描述否制品库描述1.2 Helm远程库打开创建远程库界面:点击新建制品库选择新建远程库输入信息点击确认即可属性说明:字段是否必填描述制品仓库是制品库类型制品库名称是制品库名称,不能有空格、特殊符号 2.要将未关联的制品库关联,先鼠标点击需要关联的制品库,再点击中间向右图标,将该制品库放入右边待确认。3.移除关联制品库,鼠标点击需要移除的制品库,再点击向左图标,将该制品库放入左边。 :查询条件描述制品名称通过制品名称模糊查询制品版本制品的版本查询制品组名Helm制品的组名
Hadess是一款开源免费的制品管理工具,在上一篇中已经介绍了Composer制品详细使用过程,这篇文章将介绍在Hadess中如何管理Nuget制品。 1、创建Nuget制品库1.1 Nuget本地库打开创建本地库界面:点击新建制品库选择新建本地库添加信息点击确认即可属性说明:字段是否必填描述制品仓库是制品库类型制品库名称是制品库名称,不能有空格、特殊符号 、中文描述否制品库描述1.2 Nuget远程库打开创建远程库界面:点击新建制品库选择新建远程库输入信息点击确认即可代理地址:点击添加代理地址打开公共源弹窗,选择地址添加点击确定即可属性说明:字段是否必填描述制品仓库是制品库类型制品库名称是制品库名称 2.要将未关联的制品库关联,先鼠标点击需要关联的制品库,再点击中间向右图标,将该制品库放入右边待确认。3.移除关联制品库,鼠标点击需要移除的制品库,再点击向左图标,将该制品库放入左边。 2.3 查询Nuget制品进入Hadess后,点击制品库可在上方选择制品类型或者输入制品库名称来进行查询属性说明:查询条件描述制品名称通过制品名称模糊查询制品版本制品的版本查询制品组名Nuget制品的组名
在较大型的组织内部,由于用户、应用和镜像的数量较多、管理需求复杂,功能较单一的 Docker Registry 难以胜任,因此需要更全面的镜像管理方案。 Harbor 是为满足企业安全合规的需求而设计的,旨在提供安全和可信的云原生制品管理,支持镜像签名和内容扫描,确保制品管理的合规性、高效性和互操作性。 Harbor 的功能主要包括四大类:多用户的管控(基于角色访问控制和项目隔离)、镜像管理策略(存储配额、制品保留、漏洞扫描、来源签名、不可变制品、垃圾回收等)、安全与合规(身份认证、扫描和 CVE 例外规则等 (4)制品备份。容器镜像等制品的备份是从跨系统镜像传输衍生而来的用例,主要是把 Harbor 的镜像等制品复制到其他系统中,保留一个或多个副本。 (5)制品本地访问。
Hadess是一款开源免费的制品管理工具,工具轻量、简洁易用,本文将介绍如何在Hadess中管理Composer制品。 1、创建Composer制品库1.1 Composer本地库打开创建本地库界面:点击新建制品库选择新建本地库添加信息点击确认即可属性说明:字段是否必填描述制品仓库是制品库类型制品库名称是制品库名称,不能有空格 选择地址后点击确定即可属性说明:字段是否必填描述制品仓库是制品库类型制品库名称是制品库名称,不能有空格、特殊符号、中文代理地址是第三方地址,拉取远程的文件描述否制品库描述1.3 Composer组合库打开创建远程库界面 2.要将未关联的制品库关联,先鼠标点击需要关联的制品库,再点击中间向右图标,将该制品库放入右边待确认。3.移除关联制品库,鼠标点击需要移除的制品库,再点击向左图标,将该制品库放入左边。 2.3 查询Composer制品进入Hadess后点击制品库,可在上方根据制品类型或者直接在搜索框输入制品库名称来查询属性说明:查询条件描述制品名称通过制品名称模糊查询制品版本制品的版本查询制品组名Composer
Hadess是一款开源免费的制品管理工具,工具支持一键安装零配置,页面设计简洁易用。本文将介绍如何管理Pypi(Python)制品。 1、创建Python制品库1.1 Python本地库打开创建本地库界面:点击新建制品库选择新建本地库添加信息点击确认即可属性说明:字段是否必填描述制品仓库是制品库类型制品库名称是制品库名称,不能有空格、 选择地址后点击确定即可属性说明:字段是否必填描述制品仓库是制品库类型制品库名称是制品库名称,不能有空格、特殊符号、中文代理地址是第三方地址,拉取远程的文件描述否制品库描述1.3 Python组合库打开创建远程库界面 2.要将未关联的制品库关联,先鼠标点击需要关联的制品库,再点击中间向右图标,将该制品库放入右边待确认。3.移除关联制品库,鼠标点击需要移除的制品库,再点击向左图标,将该制品库放入左边。 2.3 查询Python制品进入Hadess后点击制品库,可在上方制品类型中选择也可直接在搜索框中输入制品库名称进行查询属性说明:查询条件描述制品名称通过制品名称模糊查询制品版本制品的版本查询制品组名Python
Hadess是一款开源免费的制品管理工具,在上一篇中已经介绍了Docker制品详细使用过程,这篇文章将介绍在Hadess中详细的使用Generic制品。 1、创建Generic制品库1.1 Generic本地库打开创建本地库界面:点击新建制品库选择新建本地库添加信息点击确认即可属性说明:字段是否必填描述制品仓库是制品库类型制品库名称是制品库名称,不能有空格 替换对应的文本界面上传点击Generic制品库名字进制品库制品界面然后输入对应内容后点击上传制品即可2.2 拉取Generic制品将[] 里面的数据修改为自己的参数,执行命令拉取即可2.3 查询Generic 制品进入Hadess后点击制品库,可在上方选择制品类型或者直接在搜索框输入制品库名称进行查询属性说明:查询条件描述制品名称通过制品名称模糊查询制品版本制品的版本查询制品组名Generic制品的组名制品详情点击制品 ,进入制品详情详细文件点击文件tab, 查看文件列表制品文件详情点击文件,打开文件的详情抽屉版本点击版本tab 查看该制品的历史版本下载制品文件进入制品文件页面点击下载按钮,下载文件
制品是软件开发过程中产生的多种有形副产品之一,个人理解,比如前端build后产生的dist静态资源文件,安卓打包生成的apk文件,这些产物都可以认为是制品。 制品的使用可以非常简单。 image.png 制品管理软件 制品多了话需要管理,单靠Jenkins有点力不从心了,需要专门的制品管理软件,目前流行的有 Nexus Repository OSS 和 Artifactory 以Nexus为例,制品软件系统到底有啥用呢,通过官方文档,通过Nexus制品管理软件。 更好的文件分类,更好的角色权限控制 支持REST API 更好的备份恢复机制 所以个人觉得大公司很有必要建立的自己制品管理系统。 缺点: 自己搭建和维护,需要一定服务器运行成本 制品管理软件详细的使用本文不再展开,大家参照文档即可,大致流程是: 搭建制品仓库系统,Jenkins安装对应的插件,修改pipeline通过插件提供的指令上传制品到制品仓库
二、制品归属机制:仓库级与组织级分类 CNB 制品库在归属逻辑上采用分类管理策略,不同类型的制品根据其使用场景归属于不同的管理层级。 开发者可以在仓库内直接查看和管理关联的制品,实现代码与制品的一体化管理。 三、版本管理与版本追溯能力 制品库的版本管理功能确保团队能够清晰地追踪每一次构建产物的变更历史。 多版本存储:CNB 制品库支持同一制品包的多个版本并存。 开发者及以上 公开制品库 制品删除 管理员及以上 私有制品库 制品拉取 访客及以上,需登录鉴权 私有制品库 制品推送 开发者及以上 私有制品库 制品删除 管理员及以上 访问令牌鉴权:通过命令行工具读写制品时 成员管理:用户在制品库中的角色,可在「制品库 > 制品库设置 > 成员管理」中查看和配置,实现灵活的权限分配。
密码安全管理 通常我们在企业内部对平台帐号进行管理时,安全团队都会对我们的帐号体系有一定要求。 通常情况下有以下几点: 密码设定的要求,比如密码的长度,复杂度。 密码管理的要求,如密码过期时间,错误尝试次数等等。 密码安全的的要求,比如密码是否加密。 JFrog Access 服务 本篇文章就为您介绍一下Artifactory的帐号管理体系如何设定以上规则,对于使用Artifactory制品库的公司来说,这是一项必须要了解的内容。 那么说到Artifactory的帐号管理体系,就要给大家介绍一下JFrog Access,它JFrog产品中的一项服务,作用是在后台管理所有JFrog服务的身份验证和授权的相关事务。 0 # minimum number of digits that the password must contain (密码必须包含的最小数字数) length: 4