云服务器内容精选

  • 客户端下载Maven组件 使用客户端工具为Maven,请确保已安装JDK和Maven。 1. 从私有依赖库页面下载settings.xml文件,将下载的配置文件直接替换或按提示修改maven的settings.xml文件。 2. 使用以下命令进行客户端下载: mvn dependency:get -DremoteRepositories={repo_url} -DgroupId={groupId} -DartifactId={artifactId} -Dversion={version} -Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true -Dmaven.wagon.http.ssl.ignore.validity.dates=true
  • 客户端下载RPM 以发布私有组件到RPM私有依赖库中发布的Rpm私有组件为例,介绍如何从Rpm私有依赖库中获取依赖包。 参考发布Rpm私有组件的2、3,下载Rpm私有依赖库配置文件。 打开配置文件,将文件中所有“{{component}}”替换为上传Rpm文件时使用的“{{component}}”值(本文档中该值为“hello”),并删除“rpm上传命令”部分,保存文件。 将修改后的配置文件保存到Linux主机的“/etc/yum.repos.d/”目录中。 执行以下命令,下载Rpm组件。其中,hello为组件的“component”值,请根据实际情况修改。 yum install hello
  • 客户端下载Generic组件 使用以下命令进行客户端下载: curl -o {{localFileName}} -k -u "{{username}}:{{password}}" -X GET {{repo_url}}/{{filePath}} localFileName:下载Generic组件到本地的路径(包含名称)。 filePath:Generic仓库中组件的路径(包含名称)。 username、password、repo_url的值从2下载的“generic.txt”文件获取,如下图所示。
  • 客户端上传RPM组件 使用linux系统和yum工具,请确保使用linux系统,且已安装yum。 检查linux下是否安装yum工具。 在linux主机中输入 rpm -qa yum 如出现如下内容 则证明机器已安装yum 登录制品仓库,进入Rpm私有依赖库。单击页面右侧“操作指导”。 在弹框中单击“下载配置文件”。 在Linux主机中执行以下命令,上传Rpm组件 curl -k -u {{user}}:{{password}} -X PUT https://{{repoUrl}}/{{component}}/{{version}}/ -T {{localFile}} 其中,“user”、“password”、“repoUrl”来源于上一步下载的配置文件中“rpm上传命令”部分。 user:位于curl -u与-X之间、“:”之前的字符串。 password:位于curl -u与-X之间、“:”之后的字符串。 repoUrl:“https://”与“/{{component}}”之间的字符串。 “component”、“version”、“localFile”来源于待上传的Rpm组件。以组件“hello-0.17.2-54.x86_64.rpm”为例。 component:软件名称,即“hello”。 version:软件版本,即“0.17.2”。 localFile:Rpm组件,即“hello-0.17.2-54.x86_64.rpm”。 完整的命令行如下图所示: 命令执行成功,进入私有依赖库,可找到已上传的Rpm私有组件。
  • 客户端上传Docker组件 前提条件: 已安装Docker客户端。 私有依赖库中已创建 Docker仓库 。 操作步骤: 从私有库页面选择对应的Docker仓库,单击“操作指导”。 单击“下载配置文件”,下载配置文件“config.json”。 获取已下线的配置文件中的{username}、{password}。 在本地客户端执行以下命令,登录Docker私有依赖库。 docker login {url} -u ${username} -p ${password} url:仓库地址。 username:3中获取的{username}。 password:3中获取的{password}。 在本地客户端执行以下命令,打包镜像。 docker tag ${image_name1}:${image_version1} {url}/${image_name2}:${image_version2} image_name1:本地镜像名称。 image_version1:本地镜像版本号。 url:仓库地址。如下图所示。 image_name2:用户可以设置上传后的镜像名称,组件名称将显示在Docker私有依赖库组件列表中。 image_version2:用户可以设置上传后的镜像版本。 在本地客户端执行以下命令,上传Docker组件至私有依赖库。 docker push {url}/${image_name}:${image_version} url:仓库地址。如下图所示。 image_name:输入5中的“image_name2”。 image_version:输入5中的“image_version2”。 在Docker私有依赖库中查看已上传的组件。
  • 客户端上传Generic组件 前提条件: 登录CodeArts首页。 操作步骤: 从私有依赖库页面选择对应的Generic仓库,单击“操作指导”。 在“操作指导”对话框下载配置文件“generic.txt”文件。 执行以下命令将Generic制品包上传到仓库。 curl -k -u "{{username}}:{{password}}" -X PUT {{repo_url}}/{{filePath}} -T {{localFile}} file path:待上传的Generic仓库路径(包含名称)。 localFile:本地Generic制品包的路径(包含名称)。 username、password、repo_url的值从2下载的“generic.txt”文件获取,如下图所示。
  • 客户端上传Go组件 使用客户端工具为go,请确保已安装golang1.13及以上版本,且工程为go module工程。 Go Modules打包方式简介及包上传。 本文采用Go Modules打包方式完成Go组件的构建与上传。以下步骤中用到的username和password可以通过Go仓库的“操作指导”下载的配置文件中获取。 打包命令主要包括以下几部分: 在工作目录中创建源文件夹。 mkdir -p {module}@{version} 将代码源拷贝至源文件夹下。 cp -rf . {module}@{version} 压缩组件zip包。 zip -D -r [包名] [包根目录名称] 上传组件zip包与“go.mod”文件到私有依赖库中。 curl -k -u {{username}}:{{password}} -X PUT {{repoUrl}}/{filePath} -T {{localFile}} 根据打包的版本不同,组件目录结构有以下几种情况: v2.0以下版本:目录结构与“go.mod”文件路径相同,无需附加特殊目录结构。 v2.0以上(包括v2.0)版本: “go.mod”文件中第一行以“/vX”结尾:目录结构需要包含“/vX”。例如,版本为v2.0.1,目录需要增加“v2”。 “go.mod”文件中第一行不以“/vN”结尾:目录结构不变,上传文件名需要增加“+incompatible”。 下面分别对不同的版本举例说明。 v2.0以下版本打包。 以下图所示“go.mod”文件为例。 在工作目录中创建源文件夹。 命令行中,参数“module”的值为“example.com/demo”,参数“version”自定义为1.0.0。因此命令如下: mkdir -p ~/example.com/demo@v1.0.0 将代码源拷贝至源文件夹下。 参数值与上一步一致,命令行如下: cp -rf . ~/example.com/demo@v1.0.0/ 压缩组件zip包。 首先,使用以下命令,进入组件zip包所在根目录的上层目录。 cd ~ 然后,使用zip命令将代码压缩成组件包。命令行中,“包根目录名称”为“example.com”“包名”自定义为“v1.0.0.zip”,因此命令如下: zip -D -r v1.0.0.zip example.com/ 上传组件zip包与“go.mod”文件到私有依赖库中。 命令行中,参数“username”、“password”、“repoUrl”均可通过私有依赖库配置文件获取。 对于zip包,参数“filePath”为“example.com/demo/@v/v1.0.0.zip”,“localFile”为“v1.0.0.zip”。 对于“go.mod”文件,参数“filePath”为“example.com/demo/@v/v1.0.0.mod”,“localFile”为“example.com/demo@v1.0.0/go.mod”。 因此命令如下(参数username、password、repoUrl请参照私有依赖库配置文件自行修改): curl -k -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/@v/v1.0.0.zip -T v1.0.0.zip curl -k -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/@v/v1.0.0.mod -T example.com/demo@v1.0.0/go.mod v2.0以上版本打包,且“go.mod”文件中第一行以“/vX”结尾。 以下图所示“go.mod”文件为例。 在工作目录中创建源文件夹。 命令行中,参数“module”的值为“example.com/demo/v2”,参数“version”自定义为“2.0.0”。因此命令如下: mkdir -p ~/example.com/demo/v2@v2.0.0 将代码源拷贝至源文件夹下。 参数值与上一步一致,命令行如下: cp -rf . ~/example.com/demo/v2@v2.0.0/ 压缩组件zip包。 首先,使用以下命令,进入组件zip包所在根目录的上层目录。 cd ~ 然后,使用zip命令将代码压缩成组件包。命令行中,“包根目录名称”为“example.com”“包名”自定义为“v2.0.0.zip”,因此命令如下: zip -D -r v2.0.0.zip example.com/ 上传组件zip包与“go.mod”文件到私有依赖库中。 命令行中,参数“username”、“password”、“repoUrl”均可通过私有依赖库配置文件获取。 对于zip包,参数“filePath”为“example.com/demo/v2/@v/v2.0.0.zip”,“localFile”为“v2.0.0.zip”。 对于“go.mod”文件,参数“filePath”为“example.com/demo/v2/@v/v2.0.0.mod”,“localFile”为“example.com/demo/v2@v2.0.0/go.mod”。 因此命令如下(参数username、password、repoUrl请参照私有依赖库配置文件自行修改): curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/v2/@v/v2.0.0.zip -T v2.0.0.zip curl -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/v2/@v/v2.0.0.mod -T example.com/demo/v2@v2.0.0/go.mod v2.0以上版本打包,且“go.mod”文件中第一行不以“/vX”结尾。 以下图所示“go.mod”文件为例。 在工作目录中创建源文件夹。 命令行中,参数“module”的值为“example.com/demo”,参数“version”自定义为“3.0.0”。因此命令如下: mkdir -p ~/example.com/demo@v3.0.0+incompatible 将代码源拷贝至源文件夹下。 参数值与上一步一致,命令行如下: cp -rf . ~/example.com/demo@v3.0.0+incompatible/ 压缩组件zip包。 首先,使用以下命令,进入组件zip包所在根目录的上层目录。 cd ~ 然后,使用zip命令将代码压缩成组件包。命令行中,“包根目录名称”为“example.com”“包名”自定义为“v3.0.0.zip”,因此命令如下: zip -D -r v3.0.0.zip example.com/ 上传组件zip包与“go.mod”文件到私有依赖库中。 命令行中,参数“username”、“password”、“repoUrl”均可通过私有依赖库配置文件获取。 对于zip包,参数“filePath”为“example.com/demo/@v/v3.0.0+incompatible.zip”,“localFile”为“v3.0.0.zip”。 对于“go.mod”文件,参数“filePath”为“example.com/demo/@v/v3.0.0+incompatible.mod”,“localFile”为“example.com/demo@v3.0.0+incompatible/go.mod”。 因此命令如下(参数username、password、repoUrl请参照私有依赖库配置文件自行修改): curl -k -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/@v/v3.0.0+incompatible.zip -T v3.0.0.zip curl -k -u {{username}}:{{password}} -X PUT {{repoUrl}}/example.com/demo/@v/v3.0.0+incompatible.mod -T example.com/demo@v3.0.0+incompatible/go.mod
  • 客户端上传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仓库查看已上传的组件。
  • 为私有依赖库聚合仓添加代理 已创建聚合仓,可参考新建私有依赖库。 进入私有依赖库,在左侧边栏中选择对应聚合仓的仓库名称。 单击页面右侧“代理设置”。 单击“添加代理”,选择“公开源”或“自定义源”。 用户可以在“自定义源”中选择“第三方仓库”或“华为本地仓库”两种代理类型。 第三方仓库(设置第三方仓库或者由用户自行创建的仓库为代理源): 用户选择第三方仓库后,单击“代理名称”的下拉列表,在下拉列表中选择自定义代理源。新建自定义代理源请参考自定义代理源。 华为本地仓库(设置华为本地仓库为代理源,用户只能选择自己作为仓库管理员的本地仓库) 用户在镜像仓名称的下拉列表中,可以选择私有依赖库中的本地仓库。 单击“确定”,完成添加代理。 单击操作列中的,可以修改镜像仓名称、代理账号、代理密码。用户无法编辑华为本地仓库的代理源。 单击操作列中的,可以删除对应的代理。
  • 上传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”下生成对应的元数据。
  • 上传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安装。
  • 上传NuGet私有组件 NuGet 包是具有 .nupkg 扩展的单个 ZIP 文件,作为一种可共享的代码单元,开发人员可以把它发布到一个专用的服务器来共享给团队内其它成员。 制品仓库服务创建NuGet私有依赖库来托管NuGet包。 一般建议使用以下规范打包命名NuGet本地文件。 软件名称-软件的主版本号.nupkg 例如:automapper.12.0.0.nupkg 进入私有依赖库,在左侧边栏中单击待上传私有组件的目标NuGet仓库。 单击“上传制品”,从本地选择待上传的NuGet文件,单击“上传”。 上传成功的组件显示在仓库列表中。 metadata目录为元数据保存目录,由组件名称名称命名。元数据目录无法删除,会跟随对应组件的删除或还原进行删除或新增。 package目录为组件保存目录。