云服务器内容精选

  • 迁移PyPI组件 进入私有依赖库,在左侧边栏中选择目标PyPI私有依赖库。 单击仓库名称,页面中仓库的详细信息显示“仓库地址”。单击即可复制该地址。 单击页面右上方“操作指导”,在弹框中单击“下载配置文件”,将配置文件pypirc下载到本地。 在本地打开配置文件,在文件中搜索并找到用户名与密码。 单击页面右上方,单击“下载迁移工具”将迁移工具压缩包(脚本uploadArtifact2.py、配置文件artifact.conf)下载到本地。 配置artifact.conf。 [artifact] packageType = 组件类型,设置为pypi userInfo = username:password(步骤3中获取的用户名与密码) repoRelease = 私有依赖库地址(步骤2中获取的仓库地址) repoSnapshot = 保留为空 srcDir = 组件的目录路径,例如:C:\Users\xxxxxx\repository,用户自己指定 [nexus] nexusAddr=nexus地址 nexusPort=nexus端口 repoName=待迁移的nexus仓库名称 userName=nexus用户名 passwd=nexus密码 执行迁移脚本python uploadArtifact2.py。 进入私有库页面查看二进制包是否上传成功。
  • 迁移Maven组件 从Maven本地仓库(例如:C:\Users\xxxxx\.m2\repository)找到需迁移的组件,复制到指定目录(用户自己指定)。 进入私有依赖库,在左侧边栏中选择目标Maven私有依赖库。 单击仓库名称,页面中仓库的详细信息显示“仓库地址”。单击即可复制该地址。 单击页面右上方“操作指导”,在弹框中单击“下载配置文件”,将配置文件settings.xml下载到本地。 在本地打开配置文件,在文件中搜索并找到用户名与密码。 单击页面右上方,单击“下载迁移工具”将迁移工具压缩包(脚本uploadArtifact2.py、配置文件artifact.conf)下载到本地。 配置artifact.conf。 [artifact] packageType = 组件类型,设置为Maven userInfo = username:password(步骤4中获取的用户名与密码) repoRelease = 仓库类型为 Release地址(步骤3中获取的仓库地址) repoSnapshot = 仓库类型为 Snapshot地址(步骤3中获取的仓库地址) srcDir = 组件的目录路径(用户自己指定),如存放在步骤1下载组件的目标路径。 [nexus] nexusAddr=nexus地址 nexusPort=nexus端口 repoName=待迁移的nexus仓库名称 userName=nexus用户名 passwd=nexus密码 执行迁移脚本python uploadArtifact2.py。 进入对应的私有依赖库,查看组件包是否上传成功。
  • 迁移npm组件 进入私有依赖库,在左侧边栏中选择目标npm私有依赖库。 单击仓库名称,页面中仓库的详细信息显示“仓库地址”。单击即可复制该地址。 单击页面右上方“操作指导”,在弹框中单击“下载配置文件”,将npmrc文件下载到本地。 在本地打开配置文件,在文件中找到“_auth”字段的值并进行base64解码。 单击页面右上方,单击“下载迁移工具”将迁移工具压缩包(脚本uploadArtifact2.py、配置文件artifact.conf)下载到本地。 配置artifact.conf。 [artifact] packageType = 组件类型,设置为npm userInfo = npm仓库下的配置文件npmrc中通过base64 解密后的_auth字段的值(参考步骤3) repoRelease = 私有依赖库地址(步骤2中获取的仓库地址) repoSnapshot = 保留为空 srcDir = 组件的目录路径,例如:C:\Users\xxxxxx\repository,用户自己指定 [nexus] nexusAddr=nexus地址 nexusPort=nexus端口 repoName=待迁移的nexus仓库名称 userName=nexus用户名 passwd=nexus密码 检查对应npm仓是否配置了路径白名单。 请确认package.json中私有二进制包是否在白名单内,只有与白名单内匹配的二进制包才能上传成功;没有配置白名单,则package.json中私有二进制包都可以上传成功。 执行迁移脚本python uploadArtifact2.py。 进入对应的私有依赖库,查看组件包是否上传成功。
  • 支持10+种仓库类型,充分满足用户各种使用场景 华为云CodeArts Artifact制品仓库支持Generic、Maven、npm、Go、PyPI、RPM、Debian、Conan、NuGet等10+种主流制品仓库类型,满足嵌入式、WEB应用、移动应用等开发场景所需,可以与本地各构建、部署工具和云上的持续集成、持续部署无缝结合。华为云CodeArts Artifact也提供制品和元数据的完整性校验能力,支持细粒度控制和按版本的细粒度包锁定权限,保障发布软件测试完整性,全面看护企业制品安全。
  • 提供自研、安全、极致性能的制品仓,保障业务连续性不中断 CodeArts Artifact制品仓库,基于云原生架构自研,解决外界不可控因素导致业务连续性问题。在安全上华为云CodeArts Artifact提供多维度、细粒度的权限控制,支持企业内不同角色对制品仓库访问控制的诉求。制品仓库存储采用物理隔离存储方式,减少恶意盗取制品风险,同时提供记录用户操作功能,保证操作可追溯;在可靠性上华为云CodeArts Artifact支持双AZ容灾和跨地域容灾、API限流与降级、服务依赖和隔离、实现服务故障自探测,实现99.99%的SLA保证;在极致性能上CodeArts Artifact提供热点文件缓存加速,增量上传下载,大小文件充分利用缓存加速优势,极速传输,提升用户构建速度,突破底层存储带宽限制,实现同地域高速并发传输,对比开源同类产品5X倍的上传和10X倍的下载性能提升。
  • 支持开源合规分析和漏洞检测,让高危致命问题无处遁逃 华为云CodeArts Artifact制品仓库提供基于软件包的成分分析能力,通过特征匹配的方式,分析软件包中的开源软件及版本,并通过漏洞库匹配的方式进行开源漏洞排查。实时同步NVD、CNVD、CNNVD等常见漏洞库漏洞数据,覆盖主流编程语言(C/C++、Java、Go、Python、JavaScript等),覆盖语种持续增加,提供全面、直观的风险汇总信息。在服务上线之前能够实时感知开源高危风险,建立起防御体系,并且及时修复问题,避免不可估量的损失。
  • 无缝连接第三方仓库,提供统一聚合仓地址,极大提升用户体验和下载性能 针对用户同时使用多个镜像源或制品库的场景,CodeArts Artifact提供仓库聚合能力,允许灵活组合多个代理仓,提供统一制品仓库入口,解决用户找不到制品包的痛点和简化客户配置。 CodeArts Artifact新增自定义代理仓功能,允许用户创建自定义代理仓库来代理开源社区仓库和三方依赖仓库,通过代理仓下载文件后支持将对应文件缓存到制品仓库,解决用户三方依赖下载慢痛点,实现下载三方依赖和本地仓库一样的极致体验。
  • 按文件名和checksum搜索,亿级制品包秒级查询与精准定位 华为云CodeArts Artifact具备强大的搜索能力,依托于数据引擎检索能力,支持内部研发近百亿制品文件的多维度的快速搜索。 当前覆盖Maven、npm、Go、PyPI、RPM、Debian、Conan、NuGet多种制品类型,用户可以通过文件名称或HASH信息(MD5、SHA1、SHA256、SHA512等四种类型),实现秒级检索定位。 以此为基础,CodeArts Artifact也演进出上亿级别的元数据和SBOM的高效关联查询,以便对制品文件进行快速溯源,对比开源同类产品搜索性能提升20X倍。
  • 制品仓库服务提供哪些功能? 表1 软件发布库功能特性 功能特性 说明 页面上传、下载、搜索、删除软件包,创建文件夹 通过软件发布库页面进行类似网盘的操作来管理软件包。 查看软件包属性 在软件发布库中可以查看软件包的生命周期属性,如基本信息(名称、大小、校验和等)、构建信息(构建任务、构建时间,源码仓库等)。 编译构建发布软件包到软件发布库 软件发布库默认集成了编译构建服务,编译构建服务生产的所有软件包都可以通过配置自动上传到软件发布库中归档。 集成部署服务 软件发布库中存储的软件包可以供部署服务使用。 包视图和构建视图 可以根据需要选择从包视图(存储目录结构)或者构建视图(构建任务及流水线)的角度查看软件包。 表2 私有依赖库功能特性 功能特性 说明 页面上传、下载、删除、搜索组件 通过私有依赖库页面进行类似网盘的操作来管理私有组件。 编译构建发布组件到私有依赖库 用户可以在编译构建任务中配置将构建产物直接发布到私有依赖库。 对接本地开发环境 通过页面给出的使用配置,可以一键生成配置文件。将生成的文件配置到本地开发工具中以后,可以直接在本地开发环境对接私有依赖库中的私有组件包,例如使用命令行对私有依赖库中的组件进行上传、下载等操作。 仓库权限控制 管理员可以通过设置成员在各仓库的角色来限制其在私有依赖库的操作权限。
  • 服务概述 制品仓库服务(CodeArts Artifact)为软件开发企业提供管理软件发布过程的能力,保障软件发布过程的规范化、可视化及可追溯。 相对于开发过程中的“源代码”,制品仓库服务关注和管理的是开发产生的待部署的“软件包”(通常由源码编译构建或打包而成)及其生命周期元数据(如名称、大小等基本属性、代码库地址、代码分支信息、构建任务、构建者、构建时间)。 “软件包”及其属性的管理是发布过程管理的基础,也是软件开发过程中的重要资产,常见的软件研发过程如图1所示: 图1 软件开发过程 图中的Repository即制品仓库,用于管理软件开发过程产生的软件包,它是连接持续集成和持续交付的重要环节,软件包的发布评审、追溯和安全控制等操作通常在其中进行。 制品仓库服务提供以下两类仓库: 软件发布库。 软件发布库可以存储任何软件包和工具,没有格式限制。 通过编译构建任务可将产物归档到软件发布库,通过页面可以查看和管理这些归档的软件包及其生命周期属性信息,部署服务使用的部署软件包也来源于此。 私有依赖库。 私有依赖库管理各种开发语言对应的私有组件包(开发者通俗称之为私服,如Maven私服)。 因为不同的开发语言组件通常有不同的归档格式要求(例如Maven组件需要基于GAV格式归档),该仓库目的就在于管理私有开发语言组件并在企业或团队内共享给其他开发者开发使用。
  • 责任共担 华为云秉承“将公司对网络和业务安全性保障的责任置于公司的商业利益之上”。针对层出不穷的 云安全 挑战和无孔不入的云安全威胁与攻击,华为云在遵从法律法规业界标准的基础上,以安全生态圈为护城河,依托华为独有的软硬件优势,构建面向不同区域和行业的完善云服务安全保障体系。 安全性是华为云与您的共同责任,如图1所示。 华为云:负责云服务自身的安全,提供安全的云。华为云的安全责任在于保障其所提供的 IaaS、PaaS 和 SaaS 各类各项云服务自身的安全,涵盖华为云数据中心的物理环境设施和运行其上的基础服务、平台服务、应用服务等。这不仅包括华为云基础设施和各项云服务技术的安全功能和性能本身,也包括运维运营安全,以及更广义的安全合规遵从。 租户:负责云服务内部的安全,安全地使用云。 华为云租户的安全责任在于对使用的 IaaS、PaaS 和 SaaS 类各项云服务内部的安全以及对租户定制配置进行安全有效的管理,包括但不限于虚拟网络、 虚拟主机 和访客虚拟机的操作系统,虚拟防火墙、API 网关和高级安全服务,各项云服务,租户数据,以及身份账号和密钥管理等方面的安全配置。 《华为云安全白皮书》详细介绍华为云安全性的构建思路与措施,包括云安全战略、责任共担模型、合规与隐私、安全组织与人员、基础设施安全、租户服务与租户安全、工程安全、运维运营安全、生态安全。 图1 华为云安全责任共担模型 父主题: 安全
  • 代理设置 创建聚合仓,请参考新建私有依赖库。 进入私有依赖库,在左侧边栏中选择对应聚合仓的仓库名称。 单击页面右侧“代理设置”。 单击“添加代理”,选择“公开源”或“自定义源”。 用户可以在“自定义源”中选择“第三方仓库”或“华为本地仓库”两种代理类型。 第三方仓库(设置第三方仓库或者由用户自行创建的仓库为代理源) 用户选择第三方仓库后,单击“代理名称”的下拉列表,在下拉列表中选择自定义代理源。新建自定义代理源请参考自定义代理源。 华为本地仓库(设置华为本地仓库为代理源,用户只能选择自己作为仓库管理员的本地仓库) 用户在镜像仓名称的下拉列表中,可以选择私有依赖库中的本地仓库。 单击“确定”,完成添加代理。 单击操作列中的,可以修改镜像仓名称、代理账号、代理密码。 用户无法编辑华为本地仓库的代理源。 单击操作列中的,可以删除对应的代理。 父主题: 聚合仓
  • 权限设置 在软件发布库中,不同的项目角色对应的操作权限不同。拥有“权限设置”操作权限的成员可以对权限范围进行编辑。 通过项目入口进入软件发布库。 单击页面左上方,在下拉栏中单击“项目权限设置”。 单击需要“配置权限的角色”,选择“二进制仓”,根据需要单击编辑并勾选权限,单击保存。 软件发布库提供的默认权限矩阵如下表所示。 表1 项目级权限 项目级权限说明 角色/动作 更改包状态 上传 删除/还原(测试包) 删除/还原(生产包) 编辑(测试包) 新建文件夹 下载 还原所有 清空回收站 项目经理 √ √ √ × √ √ √ √ √ 产品经理 × × √ × √ √ √ × × 测试经理 × √ √ × √ √ √ √ √ 系统工程师 × √ √ × √ √ √ × × Committer × √ √ × √ √ √ × × 开发人员 × √ √ × √ √ √ × × 测试人员 × √ × × × √ √ × × 参与者 × × × × × × √ × × 浏览者 × × × × × × × × × 项目管理者 √ √ √ √ √ √ √ √ √ 项目管理者默认拥有全部操作权限,无法修改其权限范围。 自定义角色无预置权限,可以联系管理员添加当前角色类型对应资源的相应操作权限。 项目管理者、项目经理、测试经理默认具有“权限配置”的权限。其他角色之前如有“权限配置”权限,可以继续在软件发布库内给其他角色配置权限。 父主题: 软件发布库(新版)
  • 清理策略 软件发布库提供定时自动清理文件功能。可根据设置文件的保留时长,自动将超时的文件从仓库移动至回收站、或者将从回收站内彻底清除。 通过项目入口进入软件发布库。 单击页面右上方“设置仓库”,选择“清理策略”页签。 根据需要打开“删除文件至回收站”或“从回收站彻底删除”的开关,在下拉列表中选择保存时间。 服务默认保留的时间为: 从发布库放入回收站:30天。 从回收站彻底删除:30天 如果列表中的选项不满足需要,可以自定义时间,单击“自定义”,输入数字,单击“√”保存。 以下为非必填项: 忽略“生产包”状态的文件:系统进行文件清理时将保留“生产包”状态的文件,请参考设置发布状态。 忽略文件路径:系统进行文件清理时将保留匹配用户设置的文件路径的软件包,支持设置多个文件路径(以”/“开头,多路径之间用英文分号隔开)。 父主题: 软件发布库(新版)
  • 客户端上传Maven组件 使用客户端工具为Maven,请确保已安装JDK和Maven。 从私有依赖库页面下载settings.xml文件,将下载的配置文件直接替换或按提示修改maven的settings.xml文件。 使用以下命令进行客户端上传,命令示例如下: 上传时需要到上传的pom文件所在目录下执行命令 mvn deploy:deploy-file -DgroupId={groupId} -DartifactId={artifactId} -Dversion={version} -Dpackaging=jar -Dfile={file_path} -DpomFile={pom_path} -Durl={url} -DrepositoryId={repositoryId} -s {settings_path} -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true 参数说明 DgroupId :上传的groupId DartifactId :上传的artifactId Dversion :上传的版本version Dpackaging :上传包的类型(jar,zip,war等) Dfile :上传实体文件所在的路径 DpomFile : 上传实体pom文件所在的路径(Release版本请注意:如果没有该参数,系统会自动生成pom,pom有特殊要求的请指定该参数) pom文件中的DgroupId ,DartifactId ,Dversion 要与外面的一致,否则报409。 DpomFile 和(DgroupId ,DartifactId ,Dversion) 可以二选一(即如果选择DgroupId ,DartifactId ,Dversion,则可以不用DpomFile) Durl :上传文件到仓库的路径 DrepositoryId :这个是settings配置的用户名密码所对应的id,如下图所示: 使用客户端工具为Gradle,请确保已安装JDK和Gradle。 从私有依赖库页面下载inti.gradle文件。 在本地项目下找到“build.gradle”文件,需要在gradle文件下添加以下命令,命令示例如下: uploadArchives { repositories { mavenDeployer {repository(url:"***") { authentication(userName: "{repo_name}", password: "{repo_password}") } //构造项目的Pom文件 pom.project { name = project.name packaging = 'jar' description = 'description' } } } } url:上传文件到仓库的路径,可在对应Maven私有依赖库界面,单击获取。 {repo_name}:从对应Maven仓库页面下载inti.gradle文件中获取username。 {repo_password}:从对应Maven仓库页面下载inti.gradle文件中获取password。 到本地项目所在目录下执行命令: gradle uploadArchives 返回对应的Maven仓库查看已上传的组件。