),简称 Artifact(制品)。 必须是字符串“config” version 类型的版本 optional-configFormat 可选的配置格式说明(json、yaml等) 一些常见的 OCI Artifact 配置类型如表3所示 json CNAB application/vnd.cnab.config.v1+json Singularity application/vnd.sylabs.sif.config.v1+json (3) Harbor 中管理容器镜像的各种功能,在适用的情况下,都可以扩展到 OCI Artifact 上,如访问权限控制、推送和拉取、界面查询、远程复制等,这大大方便了用户对云原生 Artifact 的管理和使用 本公众号文章也介绍过如何通过 Harbor 2.1 存储和管理机器学习模型的方法。
一.简介 制品是软件开发过程中产生的多种有形副产品之一。广义的制品还包括用例、UML图、设计文档等。而狭义的制品就可以简单地理解为二进制包。 本章讨论的是狭义的制品。行业内有时也将制品称为产出物或工件。 最简单的制品管理仓库就是将制品统—放在一个系统目录结构下。但是很少有人这样做,更多的做法是使用现成的制品库。 制品管理涉及两件事情:一是如何将制品放到制品库中;二是如何从制品库中取出制品。由于每种制品的使用方式不一样,因此下面我们分别进行介绍。 二.Jenkins管理制品 从手工打包到自动化打包,再将打好的包放到制品库中。这看似简单,但是要在团队中从无到有地落地其实是一个很漫长的过程,特别是对于存在很多遗留项目的团队。 它能对制品进行归档,然后你就可以从Jenkins页面上下载制品了。
四.拷贝制品 在某些场景下,我们需要从另一个pipeline中拷贝制品,Copy Artifact插件 可以帮助我们实现 steps { copyArtifacts( projectName stable为true表示只取构建成功的制品,为false表示只要构建结果比UNSTABLE好就行。 specific:指定某一次构建的制品。 buildNum ber表示指定取第n次构建的制品 lastCompleted:最后一次完成构建的制品,不论构建的最终状态如何。 方法签名为latestSavedBuild() 五.版本号 谈到制品,就必须谈到版本号的管理。版本号的制定并没有所谓的行业标准。 2.方便找出制品与源码的关系。
最新版本的Nexus Platform ( 3.3.20180801-112343.4970c8a )已经同时支持Nexus 2.x和Nexus 3.x,只是它的文档更新不及时,大家都不知道它支持3.x 1.进入Manage Jenkins→Configure System→Sonatype Nexus页,设置Nexus 3.x的服务器地址 需要注意的是: 在“Credentials”选项处,增加了一个具有发布制品到 管理raw 进入Administration→Repository→Repositories页,单击“raw ( hosted )”,进入raw仓库创建页,输入仓库名称“raw-example”,单击“ curl命令的格式为: curl --user '<username:password>' --upload-file <待上传制品的路径〉〈将制品保存到Nexus上的全路径> 将制品保存到Nexus 3.在Nexus中,我们看到readme.md文件已经上传成功 在Jenkins pipeline中获取原始制品时,我们同样使用curl命令。
什么是制品? 制品是指由源码编译打包生成的二进制文件,不同的开发语言对应着不同格式的二进制文件;这些二进制文件通常用于运行在服务器上或者作为编译依赖,“制品的管理”是配置管理的重要组成部分。 制品管理工具 如上所述,由于制品管理的重要性,所以衍生出来对应的制品解决方案用来统一管理不同格式的软件制品。 也许也是看到单独的制品管理工具,比大而全的DevOps平台更好的切入用户场景吧。 如何管理制品? 为了统一管理不同语言格式的包,以上制品管理工具几乎都按照如下方式管理组织制品。 规范制品库命名 如果团队比较大一,对制品管理的要求不高,按照以上方式基本可以满足需求。 ,在制品的管理上需要结合组织和流水线需要,指定相应的规范,避免混乱; 好的制品管理流程,可减少开发自测和测试人员进行接收测试衔接过程中的低效沟通; 这里仅仅是对制品管理做了全局的梳理,后续会对其中具体的知识点进行详细介绍
商业企业级制品库:嘉为蓝鲸制品管理平台·CPack1)多类型制品统一管控与迁移场景(1)场景需求:企业存在Generic、Docker、Maven等20+类制品,分散存储于Nexus/Jfrog等工具, (2)优势体现:联邦仓库集群:支持多地域节点构建联邦仓库,制品实时同步,跨区域分发速度提升3倍,解决 “异地协同断层” 问题;容错机制:分发异常时自动触发断点续传,成功率达 99.99%,配合多节点监控 3)存储成本控制与云原生协同场景(1)场景需求:企业制品存储占用超量,需优化存储成本,同时实现与Kubernetes的云原生镜像管理,衔接CI/CD流水线自动化部署。 (2)优势体现:存储优化:基于 Checksum 机制避免重复存储,节省 40% 空间;支持仓库配额设置与告警,自动清理 3 个月未使用制品;云原生深度适配:与Kubernetes无缝集成,支持Docker 对于需实现多类型制品统一管控、高频稳定分发,且注重安全合规的中大型企业,嘉为蓝鲸制品管理平台·CPack能有效规避开源工具的后期隐性成本与性能风险,减少制品管理环节的试错成本,成为DevOps转型中制品管理环节的核心支撑
2024 年 7 月 22 - 23 日,在中国信通院承办的第十二届可信云大会上,Gitee Repo 制品管理平台大放异彩,成功通过《可信制品管理能力分级要求》中制品管理能力域、并发性能域、安全能力域 Gitee Repo 支持平台管理与数据分离的权限管理模式,可根据企业内部各研发角色真实职能配置平台级角色,并支持多种仓库权限管理模式,既可以有效管理企业制品资产,又能有的放矢面向企业用户开放制品数据。 结合漏洞、许可证、包版本多个安全策略,可形成对依赖 - 构建 - 分发各个场景下的制品安全管理,提升企业制品安全管理能力。 某智能硬件团队通过集成自动化测试平台,将版本发布周期从 2 周压缩至 3 天,关键漏洞减少 40%。 在高复杂度的科研协作场景下,确保技术资料全程可控,项目验收周期提前 3 个月。
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制品库名称是制品库名称 2.要将未关联的制品库关联,先鼠标点击需要关联的制品库,再点击中间向右图标,将该制品库放入右边待确认。3.移除关联制品库,鼠标点击需要移除的制品库,再点击向左图标,将该制品库放入左边。 在项目pom.xml中配置依赖包(dependencies 标签)3.执行mvn install 拉取制品2.3 查询Maven制品进入Hadess后点击搜索,可在上方选择制品类型也可直接在搜索框中输入制品名称进行查询属性说明 :查询条件描述制品名称通过制品名称模糊查询制品版本制品的版本查询制品组名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)核心定位:面向企业级客户的一体化制品库平台,提供安全、可控、高效的制品全生命周期管理能力,并深度契合国内企业的合规性要求。 3)适用场景:中大型企业,特别是对安全、权限管控和流程合规有严格要求的企业。已经或计划采用腾讯蓝鲸DevOps体系的企业,希望获得开箱即用的一体化体验。 嘉为蓝鲸 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制品的组名
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 查看该制品的历史版本下载制品文件进入制品文件页面点击下载按钮,下载文件
image.png 制品管理软件 制品多了话需要管理,单靠Jenkins有点力不从心了,需要专门的制品管理软件,目前流行的有 Nexus Repository OSS 和 Artifactory 以Nexus为例,制品软件系统到底有啥用呢,通过官方文档,通过Nexus制品管理软件。 更好的文件分类,更好的角色权限控制 支持REST API 更好的备份恢复机制 所以个人觉得大公司很有必要建立的自己制品管理系统。 缺点: 自己搭建和维护,需要一定服务器运行成本 制品管理软件详细的使用本文不再展开,大家参照文档即可,大致流程是: 搭建制品仓库系统,Jenkins安装对应的插件,修改pipeline通过插件提供的指令上传制品到制品仓库 image.png 参考 https://help.sonatype.com/repomanager3/formats/docker-registry https://jfrog.com/open-source
二、制品归属机制:仓库级与组织级分类 CNB 制品库在归属逻辑上采用分类管理策略,不同类型的制品根据其使用场景归属于不同的管理层级。 开发者可以在仓库内直接查看和管理关联的制品,实现代码与制品的一体化管理。 三、版本管理与版本追溯能力 制品库的版本管理功能确保团队能够清晰地追踪每一次构建产物的变更历史。 多版本存储:CNB 制品库支持同一制品包的多个版本并存。 开发者及以上 公开制品库 制品删除 管理员及以上 私有制品库 制品拉取 访客及以上,需登录鉴权 私有制品库 制品推送 开发者及以上 私有制品库 制品删除 管理员及以上 访问令牌鉴权:通过命令行工具读写制品时 成员管理:用户在制品库中的角色,可在「制品库 > 制品库设置 > 成员管理」中查看和配置,实现灵活的权限分配。
Nexus 可以用来管理二进制制品,如果是 Java 的应用,则可以与 Apache Maven 结合使用进行二进制制品的部署,这篇文章使用简单的示例来对使用方法进行说明。 这种情况一般有如下的使用场景: 此二进制制品(通常是jar文件)是项目其他部分所依赖的组件 此二进制制品可能是第三方提供的jar文件,为项目所需要使用的组件 由于仓库管理的内容并不仅仅包含二进制制品,同时可能会包含 使用方式 Apache Maven Deploy Plugin主要有如下两种使用方式: deploy:deploy deploy:deploy-file Nexus的制品上传 早前的 Nexus3 的版本中并没有提供二进制制品的上传功能 --------------------- ~/demo # 可以看到并未生成pom.xml和相关的校验文件信息 deploy:deploy方式 事前准备 在此示例的pom.xml文件中添加如下部署管理 support.sonatype.com/hc/en-us/articles/115006744008-How-can-I-programmatically-upload-files-into-Nexus-3-