云服务器内容精选

  • 上传PyPI组件 建议进入工程目录(该目录下需含有配置文件setup.py)执行以下命令将待上传组件打包成wheel格式(.whl)的安装包,安装包默认生成在工程目录的dist目录下;Python软件包管理工具pip仅支持wheel格式安装包。 python setup.py sdist bdist_wheel 上传组件时需要配置以下两个参数。 参数 说明 PackageName 请与打包时的配置文件“setup.py”中“name”保持一致。 Version 请与打包时的配置文件“setup.py”中“version”保持一致。 上传成功之后,可在仓库组件列表中看到whl格式的安装包,同时在路径“.pypi”下生成对应的元数据,可用于pip安装。
  • 上传Debian私有组件 上传Debian私有组件时,需要配置以下5个参数: 参数 参数说明 Distribution 软件包发行版本。 Component 软件包组件名称。 Architecture 软件包体系结构。 Path 软件包的存储路径,默认上传至根路径。 File 软件包的本地存储路径。 上传成功之后,可在仓库组件列表中看到deb格式的安装包,同时在路径“dists”下生成对应的元数据,可用于debian安装。
  • 上传Generic组件 进入私有依赖库,在左侧边栏中单击待上传私有组件的目标Generic仓库。 单击“上传制品”,配置页面信息(详见下表)。 参数 说明 上传方式 选择“单个文件上传”或“多个文件上传”,默认“单个文件上传”。 选择“多个文件上传”时,最多支持20个文件。 路径 用户设置路径名称后,仓库视图中会创建改名称的文件夹,上传的软件包会存放在该文件夹内。 文件 从本地选择待上传的Generic软件包。 单击“上传”。 页面右下角进度条显示100%(上传完成)。
  • 上传OHPM组件 OHPM组件介绍 OHPM全称OpenHarmony Package Manager,是一个ArkTS包管理工具,OHPM组件包就是OHPM管理的对象,而OHPM私有依赖库就是管理和存储OHPM组件包的一个私有仓库。 OHPM组件包包含HAR包(Harmony Archive)和HSP包(Harmony Shared Package): HAR包:静态共享包,编译态复用。主要作为二方库或三方库供其他应用依赖使用;包含资源文件、*.so文件、元数据文件等。 HSP包:动态共享包,运行时复用。主要提供共用的代码或资源,提高代码的可重用性和可维护性。 HAR包中的元数据文件oh-package.json5是对组件的描述文件,包含名称、版本、依赖等信息,ohpm install命令会自动解析oh-package.json5内的相关依赖并进行下载。 oh-package.json5示例如下: { "name": "@scope/demo", // 组件名 "version": "0.0.1", // 版本 "author": "artifact", // 作者 "license": "Apache-2.0", // 许可协议 "main": "index.ts", // 入口文件 "description": "basic information.", // 描述 "dependencies": { // 依赖 "@scope/demo1": "1.0.0", "@scope/demo2": "file:./demo2.har" }, "devDependencies": { // 开发依赖 "@scope/demo3": "1.0.0", "@scope/demo4": "1.0.0" }, "metadata": { // 元数据信息 "sourceRoots": ["./src/main"] } } 其中最重要的是name和version字段,这两个字段必须存在,否则当前包无法被安装,这两个属性一起形成了一个OHPM包的唯一标识。 name是 package(包)的名称。名称的第一部分如“@scope”用作名称空间;另一部分“name”,一般通过搜索该“name”字段来安装使用需要的包。 { "name": "@scope/name" } version是 package(包)的版本,一般为“x.y.z”格式。 { "version": "1.0.0" } 上传OHPM组件 私有依赖库支持上传har、hsp格式的OHPM组件包,具体操作如下步骤。 进入私有依赖库,在左侧边栏中单击待上传私有组件的目标OHPM仓库。 单击“上传制品”,配置页面信息(详见下表)。 参数 说明 上传方式 默认为“单个文件上传”。 PackageName 输入制品包名称。请与打包时的元数据文件“oh-package.json5”中“name”保持一致。 PackageName需要以创建仓库时添加的路径列表中的路径开头,详细可见帮助指导中的表2。 例如: 创建OHPM仓库时,添加的路径为“@test”。 上传组件到该仓库时,“PackageName”中的“@test”存在于新建仓库时的路径列表中,可以上传成功。如果使用其他不存在于列表中的路径,如“@ohos”,则会上传失败。 Version 输入制品包版本号。请与打包时的元数据文件“oh-package.json5”中“version”保持一致。 文件 从本地选择待上传的OHPM文件。 单击“上传”。 页面右下角进度条显示100%(上传完成)。 可在仓库组件列表中看到组件包,同时在路径“.ohpm”下生成对应的元数据。
  • 上传NuGet私有组件 NuGet 包是具有 .nupkg 扩展的单个 ZIP 文件,作为一种可共享的代码单元,开发人员可以把它发布到一个专用的服务器来共享给团队内其它成员。 制品仓库服务创建NuGet私有依赖库来托管NuGet包。 一般建议使用以下规范打包命名NuGet本地文件。 软件名称-软件的主版本号.nupkg 例如:automapper.12.0.0.nupkg 进入私有依赖库,在左侧边栏中单击待上传私有组件的目标NuGet仓库。 单击“上传制品”,从本地选择待上传的NuGet文件,单击“上传”。 上传成功的组件显示在仓库列表中。 metadata目录为元数据保存目录,由组件名称名称命名。元数据目录无法删除,会跟随对应组件的删除或还原进行删除或新增。 package目录为组件保存目录。
  • 上传RPM私有组件 RPM简介 RPM 全名 RedHat Package Manager,是由Red Hat公司提出,被众多Linux发行版本所采用,是一种以数据库记录的方式来将所需要的软件安装到Linux系统的一套软件管理机制。 一般建议使用以下规范打包命名RPM二进制文件。 软件名称-软件的主版本号.软件的次版本号.软件的修订号-软件编译次数.软件适合的硬件平台.rpm 例如:hello-0.17.2-54.x86_64.rpm。其中,“hello”是软件名称,“0”是软件的主版本号,“17”是软件的次版本号,“2”是软件的修订号,“54”是软件编译次数,“x86_64”是软件适合的硬件平台。 软件名称 主版本号 次版本号 修订号 编译次数 适合的硬件平台 hello 0 17 2 54 x86_64 注:上传组件时需要配置以下两个参数。 参数 说明 Component 组件名称。 Version RPM二进制包的版本。 进入私有依赖库,在左侧边栏中单击待上传私有组件的目标仓库。 单击页面右侧“上传制品”。 在弹框中输入组件参数,并上传文件,单击“上传”。 图3 上传制品 上传成功之后,可在仓库组件列表中看到RPM二进制包,同时在组件名称路径下生成对应的元数据“repodata”目录,可用于yum安装。
  • 上传Go组件 Go(又称Golang)是Google开发的一种编程语言。GoLang1.11开始支持模块化的包管理工具,模块是Go的源代码交换和版本控制的单元,mod文件用来标识并管理一个模块,zip文件是源码包。Go模块主要分为两种:v2.0以上版本,及v2.0以下版本,二者对Go模块的管理存在差异。 上传Go组件分为两步:上传zip文件与上传mod文件,需要分别输入以下参数。 参数 说明 zip path zip文件的完整路径。路径格式包括以下几种情况: v2.0以下版本:{moduleName}/@v/{version}.zip。 v2.0以上版本: zip包里有go.mod且路径里以/vN结尾:{moduleName}/vX/@v/vX.X.X.zip。 zip包里不含go.mod或go.mod第一行里不以/vN结尾:{moduleName}/@v/vX.X.X+incompatible.zip。 zip file zip文件的目录结构。包括以下几种情况: v2.0以下版本:{moduleName}@{version}。 v2.0以上版本: zip包里有go.mod且路径里以/vN结尾:{moduleName}/vX@{version}。 zip包里不含go.mod或go.mod第一行里不以/vN结尾: {moduleName}@{version}+incompatible。 mod path mod文件的完整路径。路径格式包括以下几种情况: v2.0以下版本:{moduleName}/@v/{version}.mod。 v2.0以上版本: zip包里有go.mod且路径里以/vN结尾:{moduleName}/vX/@v/vX.X.X.mod。 zip包里不含go.mod或go.mod第一行里不以/vN结尾:{moduleName}/@v/vX.X.X+incompatible.mod。 mod file mod文件内容。包括以下几种情况: v2.0以下版本:module {moduleName} v2.0以上版本: zip包里有go.mod且路径里以/vN结尾: module {moduleName}/vX zip包里不含go.mod或go.mod第一行里不以/vN结尾:module {moduleName}
  • 上传NPM组件 私有依赖库支持上传tgz格式的NPM组件包,上传时需要配置以下两个参数。 参数 说明 PackageName 请与打包时的配置文件“package.json”中“name”保持一致。 Version 请与打包时的配置文件“package.json”中“version”保持一致。 在上传组件时,PackageName需要以创建仓库时添加的路径列表中的路径开头,详细可见帮助指导中的表2。 例如: 创建NPM仓库时,添加的路径为“@test”。 上传组件到该仓库时,“PackageName”中的“@test”存在于新建仓库时的路径列表中,可以成功上传。若使用其他不存在与列表中的路径,如“@npm”,则会上传失败。 上传成功之后,可在仓库组件列表中看到tgz格式的组件包,同时在路径“.npm”下生成对应的元数据。
  • NPM组件介绍 NPM全称Node Package Manager,是一个JavaScript包管理工具,NPM组件包就是NPM管理的对象,而NPM私有依赖库就是管理和存储NPM组件包的一个私有仓库。 NPM组件包是由结构和文件描述组成: 包结构:是组织包中的各种文件,例如:源代码文件,资源文件等。 描述文件:描述包的相关信息,例如:package.json、bin、lib等文件。 包中的package.json文件是对项目或模块包的描述文件,它主要包含名称、描述、版本、作者等信息,npm install命令会根据这个文件下载所有依赖的模块。 package.json示例如下: { "name": "third_use", //包名 "version": "0.0.1", //版本号 "description": "this is a test project", //描述信息 "main": "index.js", //入口文件 "scripts": { //脚本命令 "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [ //关键字 "show" ], "author": "f", //开发者姓名 "license": "ISC", //许可协议 "dependencies": { //项目生产依赖 "jquery": "^3.6.0", "mysql": "^2.18.1" }, "devDependencies": { //项目开发依赖 "less": "^4.1.2", "sass": "^1.45.0" } } 其中最重要的是name和version字段,这两个字段必须存在,否则当前包无法被安装,这两个属性一起形成了一个NPM包的唯一标识。 name是 package(包)的名称。名称的第一部分如“@scope”用作名称空间;另一部分“name”,一般通过搜索该“name”字段来安装使用需要的包。 { "name": "@scope/name" } version是 package(包)的版本,一般为“x.y.z”格式。 { "version": "1.0.0" }
  • 通过版本视图查看私有组件 私有依赖库支持将不同类型私有组件按照版本维度进行归类展示。在版本视图的列表中,提供按制品包名称和版本号进行过滤展示,提供按照更新时间对文件进行排序。 进入私有依赖库页面。 在页面左上方选择“版本视图”页签,单击左侧列表中的仓库名称,页面展示该类型仓库下的软件包版本列表。为不同类型私有组件设置版本请参考通过私有依赖库页面上传/下载私有组件。 不同版本的同名软件包放在一个文件下。单击“包名”,页面将显示该软件包最新版本的概览信息。 单击“版本数”,页面将展示对应软件包的版本列表。 单击“版本号”,页面将显示该软件包的概览信息和文件列表。在文件列表中,单击“文件名称”,页面将跳转到软件包所在的存储位置。
  • 为私有依赖库聚合仓添加代理 已创建聚合仓,可参考新建私有依赖库。 进入私有依赖库,在左侧边栏中选择对应聚合仓的仓库名称。 单击页面右侧“代理设置”。 单击“添加代理”,选择“公开源”或“自定义源”。 用户可以在“自定义源”中选择“第三方仓库”或“华为本地仓库”两种代理类型。 第三方仓库(设置第三方仓库或者由用户自行创建的仓库为代理源): 用户选择第三方仓库后,单击“代理名称”的下拉列表,在下拉列表中选择自定义代理源。新建自定义代理源请参考自定义代理源。 华为本地仓库(设置华为本地仓库为代理源,用户只能选择自己作为仓库管理员的本地仓库) 用户在镜像仓名称的下拉列表中,可以选择私有依赖库中的本地仓库。 单击“确定”,完成添加代理。 单击操作列中的,可以修改镜像仓名称、代理账号、代理密码。用户无法编辑华为本地仓库的代理源。 单击操作列中的,可以删除对应的代理。
  • 不同格式的本地仓库其他参数说明 除了公共配置信息外,每种格式仓库对应了不同的配置项,详情如表2所示。 表2 不同格式仓库其他参数说明 仓库格式 参数名 是否必填项 说明 Maven 关联项目 是 在下拉列表选择需要关联的项目名称。 路径包含规则 否 输入需要添加的路径,单击“+”可添加多条。例如添加demo,即demo/**/*,从demo的二级目录开始算且不含demo。 使用时,只有匹配了路径包含规则的制品允许上传。默认所有制品路径都被允许。 构建时,只允许以该路径开头的Maven文件上传到私有库。 路径排除规则 否 输入需要添加的路径,单击“+”可添加多条。 例如添加demo,即demo/**/*,从demo的二级目录开始算且不含demo。 构建时,不允许以该路径开头的Maven文件上传到私有库。 版本策略 是 包括“Release”与“Snapshot”两个选项。 系统提供“Release”和“Snapshot”两个仓库,默认勾选“Release”仓库;也可以根据自己团队的需求,勾选生成一个“Snapshot”仓库。 NPM 路径包含规则 否 输入需要添加的路径,单击“+”可添加多条。例如添加demo,即demo/**/*,从demo的二级目录开始算且不含demo。 构建时,只允许以该路径开头的NPM文件上传到私有库。 路径排除规则 否 输入需要添加的路径,单击“+”可添加多条。 构建时,不允许以该路径开头的npm文件上传到私有库。 RPM 路径包含规则 否 输入需要添加的路径,单击“+”可添加多条。例如添加demo,即demo/**/*,从demo的二级目录开始算且不含demo。 构建时,只允许以该路径开头的RPM二进制文件上传到私有库。 路径排除规则 否 输入需要添加的路径,单击“+”可添加多条。 构建时,不允许以该路径开头的RPM二进制文件上传到私有库。 PyPI 路径包含规则 否 输入需要添加的路径,单击“+”可添加多条。例如添加demo,即demo/**/*,从demo的二级目录开始算且不含demo。 构建时,只允许在“setup.py”文件中的“name”值与添加的路径匹配的PyPI依赖包上传到私有库。 路径排除规则 否 输入需要添加的路径,单击“+”可添加多条。 构建时,不允许在“setup.py”文件中的“name”值与添加的路径匹配的PyPI依赖包上传到私有库。 Go 路径包含规则 否 输入需要添加的路径,单击“+”可添加多条。例如添加demo,即demo/**/*,从demo的二级目录开始算且不含demo。 构建时,只允许以该路径开头的go文件上传到私有库。 路径排除规则 否 输入需要添加的路径,单击“+”可添加多条。 构建时,不允许以该路径开头的go文件上传到私有库。 Conan 路径包含规则 否 输入需要添加的路径,单击“+”可添加多条。例如添加demo,即demo/**/*,从demo的二级目录开始算且不含demo。 构建时,只允许以该路径开头的Conan类型文件上传到私有库。 路径排除规则 否 输入需要添加的路径,单击“+”可添加多条。 不允许在本地客户端上传以该路径开头的Conan文件到私有库。 NuGet 路径包含规则 否 输入需要添加的路径,单击“+”可添加多条。例如添加demo,即demo/**/*,从demo的二级目录开始算且不含demo。 构建时,只允许以该路径开头的NuGet类型文件上传到私有库。 路径排除规则 否 输入需要添加的路径,单击“+”可添加多条。 不允许在本地客户端上传以该路径开头的NuGet文件到私有库。 CocoaPods 路径包含规则 否 输入需要添加的路径,单击“+”可添加多条。例如添加demo,即demo/**/*,从demo的二级目录开始算且不含demo。 构建时,只允许以该路径开头的CocoaPods类型文件上传到私有库。 路径排除规则 否 输入需要添加的路径,单击“+”可添加多条。 构建时,不允许以该路径开头的cocoapods文件上传到私有库。 Generic 路径包含规则 否 输入需要添加的路径,单击“+”可添加多条。例如添加demo,即demo/**/*,从demo的二级目录开始算且不含demo。 构建时,只允许以该路径开头的Generic文件推送到私有库。 路径排除规则 否 输入需要添加的路径,单击“+”可添加多条。 构建时,不允许以该Generic文件的文件推送到私有库。 OHPM 路径包含规则 否 输入需要添加的路径,单击“+”可添加多条。例如添加demo,即demo/**/*,从demo的二级目录开始算且不含demo。 构建时,只允许以该路径开头的OHPM文件推送到私有库。 路径排除规则 否 输入需要添加的路径,单击“+”可添加多条。 构建时,不允许以该OHPM文件的文件推送到私有库。 原生-Docker 路径包含规则 否 输入需要添加的路径,单击“+”可添加多条。例如添加demo,即demo/**/*,从demo的二级目录开始算且不含demo。 构建时,只允许以该路径开头的镜像文件推送到私有库。 路径排除规则 否 输入需要添加的路径,单击“+”可添加多条。 镜像推送时,不允许以该路径开头的镜像文件推送到私有库。
  • 配置私有依赖库覆盖策略 通过设置仓库是否允许上传相同路径的制品并将原包覆盖等策略,用户可以更规则性的管控私有依赖库的制品上传机制。 进入私有依赖库,在左侧边栏中单击对应的仓库名称。 单击页面右侧“设置仓库”,显示仓库的基本信息,选择“覆盖策略”页签。 图1 设置仓库的覆盖策略 允许覆盖:允许上传相同路径的制品(默认选择),上传后将会覆盖原包。 禁止覆盖:禁止上传相同路径的制品。 只读:禁止上传、更新、删除制品。可以下载已上传的制品。 设置完成后,系统将自动保存。 父主题: 管理私有依赖库2.0