云服务器内容精选

  • 请求示例 批量删除回收站 https://artifact.cn-south-1.myhuaweicloud.com/cloudartifact/v5/trashes [ { "id" : "cn-north-7_5a775fdcb14f4431b6c0015618140bc3_debian_43", "format" : "debian", "uri" : "cn-north-7_5a775fdcb14f4431b6c0015618140bc3_debian_43/", "status" : "active" }, { "id" : "cn-north-7_5a775fdcb14f4431b6c0015618140bc3_go_4", "format" : "go", "uri" : "cn-north-7_5a775fdcb14f4431b6c0015618140bc3_go_4/", "status" : "active" } ]
  • 请求参数 表1 请求Body参数 参数 是否必选 参数类型 描述 [数组元素] 是 Array of TrashArtifactModelForDelete objects 批量删除列表 表2 TrashArtifactModelForDelete 参数 是否必选 参数类型 描述 id 是 String 仓库id fomat 是 String 仓库类型 uri 是 String URI status 是 String 状态 include_pattern 否 String 路径白名单
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String 参数解释: 请求成功、失败状态。 取值范围: success: 请求成功。 error:请求失败。 trace_id String 参数解释: 请求id,当前请求唯一标识。 取值范围: 数字及中划线(-)组成的字符串。 result Object 参数解释: 请求返回结果,接口不同,返回不同。 取值范围: 根据不同接口有不同范围。
  • 客户端上传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.zipcurl -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.zipcurl -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.zipcurl -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仓库查看已上传的组件。
  • 客户端上传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”文件获取,如下图所示。
  • 客户端上传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私有依赖库中查看已上传的组件。
  • 上传软件包 单击页面右上方“上传制品”,可以手动上传本地软件包到软件发布库。 选择文件夹后,单击“上传制品”,可以手动上传本地软件包到对应的文件夹中。 在弹框中配置如下信息后,单击“上传”。 目标仓库:当前软件发布库。 版本:用户可以为软件包设置版本号。 上传方式:选择“单个文件上传”或“多个文件上传”,默认“单个文件上传”。 选择“多个文件上传”时,最多支持20个文件。 路径:用户设置路径名称后,仓库视图中会创建改名称的文件夹,上传的软件包会存放在该文件夹内。 文件:从本地选择需要上传到软件发布库的软件包。 在仓库视图中,单击已上传的软件包名称,页面将展示该软件包的详细信息。 单击软件包名称旁,可以修改软件包名称。 单击软件包名称旁,可以删除软件包,可以选择彻底删除或将文件夹放入回收站。不建议用户将带有明文账号密码等敏感信息的文件上传至软件发布库。
  • 在仓库视图中查看软件包 在仓库视图页面可以查看并编辑软件包详情,软件包详情包括三方面:概览、构建元数据、构建包归档、制品安全信息。 进入软件发布库,选择“仓库视图”页签,单击软件包名称,页面展示所选软件包详情。通过四个页签“概览”、“构建元数据”、“构建包归档”、“制品安全”展示软件包详情。 概览:展示仓库名称、相对路径、下载地址、发布版本、创建人、创建时间、修改人、修改时间、大小、校验和等信息。 单击,可以修改软件包的发布版本(由编译构建归档的软件包发布版本默认为构建序号)。 构建元数据:展示生成软件包的构建任务、大小、构建序号、构建者、代码库、代码分支。单击“构建任务的名称”可以链接到编译构建任务。 构建包归档:展示通过构建任务上传的软件包的归档记录,单击,可以下载软件包。 制品安全:页面展示了对该软件包进行安全扫描的结果,详情请参考制品安全扫描。
  • 管理私有依赖库1.0回收站 在私有依赖库中被删除的仓库与组件都会移到回收站,可以对删除后的组件进行管理。 进入私有依赖库。 单击“回收站”,页面右侧滑出“回收站”页面。 根据需要对列表中的仓库与组件进行删除或还原操作。回收站的所有删除操作都将彻底删除仓库与组件,无法重新找回,请慎重操作。 列表中,若操作列中有和,则表示此行是被删除的仓库;否则表示此行是被删除组件所在的仓库名称,单击仓库名称即可看到该仓库中被删除的组件。 可进行的操作如下: 操作类型 操作项 说明 还原 还原仓库 单击操作列的,可以还原对应仓库。 还原单个组件 进入待还原组件所在仓库,在列表中单击操作列,可以还原对应组件。 批量还原组件 进入待还原组件所在仓库,勾选多个组件,单击列表下方的“还原”,可以同时还原多个组件。 还原所有 单击页面右上方“还原所有”,可以一键还原回收站中的所有仓库与组件。 删除 删除仓库 单击操作列,可以删除对应仓库。 删除单个组件 进入待删除组件所在仓库,单击操作列,可以删除对应组件。 批量删除组件 进入待删除组件所在仓库,勾选多个组件,单击列表下方的“彻底删除”,可以同时删除多个组件。 清空回收站 单击页面右上方“清空回收站”,可以一键删除回收站中的所有仓库与组件。 父主题: 管理私有依赖库1.0
  • 变更CodeArts Artifact套餐规格 CodeArts Artifact支持变更套餐规格,变更影响请参见变更配置后对计费的影响。 登录制品仓库控制台。 找到CodeArts Artifact套餐,单击操作列中的“变更”。 根据需要选择变更商品、变更类型(如果变更类型选择“续费变更”,则还需要选择续费时长)。 勾选同意声明,单击“下一步:确认订单”。 确认订单内容:若需要修改,单击“上一步”;若确认无误,单击“下一步”。 根据页面提示完成支付。
  • 在私有依赖库中管理仓库权限 用户在创建仓库后,添加的项目成员和仓库角色对应关系如下: 项目创建者、项目经理对应仓库管理员。 开发人员、测试经理、测试人员、运维经理对应仓库开发者。 参与者、浏览者、自定义角色对应仓库浏览者。 为私有依赖库成员添加/删除权限的操作步骤如下: 进入私有依赖库页面,在仓库列表中选择目标仓库。 在页面右侧单击“设置仓库”。 选择“仓库权限”页签,已经添加的仓库成员显示在列表中。 添加成员。 单击页面左上方“添加成员”,在弹框中勾选成员,单击“下一步”。 图1 添加成员 为成员分配仓库角色。 可以在仓库角色的下拉栏中选择“仓库管理者”、“仓库开发者”、“仓库浏览者”。 图2 为成员分配仓库角色 单击“确定”,完成添加仓库成员和仓库角色配置,新添加的成员将显示在列表中。 在成员列表中,勾选多个仓库成员,单击下方“仓库角色”可以批量配置仓库角色。 图3 批量配置仓库角色 仓库角色对应的操作权限如表1所示。 表1 私有依赖库角色权限表 操作/角色 租户管理员 非租户管理员 仓库管理员 开发者 浏览者 仓库管理员 开发者 浏览者 新建私有依赖库 √ √ √ × × × 编辑私有依赖库 √ √ √ × × × 管理仓库与项目关联 √ √ √ × × × 上传私有组件 √ √ × √ √ × 下载组件 √ √ √ √ √ √ 删除组件 √ √ × √ √ × 还原组件 √ √ × √ √ × 彻底删除(组件) √ √ × √ √ × 删除仓库 √ × × × × × 还原仓库 √ √ × √ √ × 彻底删除(仓库) √ × × × × × 清空回收站 √ √ √ × × × 还原所有 √ √ √ × × × 管理用户权限 √ √ √ √ × ×
  • 购买制品仓库须知 在CodeArts支持的区域内,各区域独立开通购买、独立计费。 您可以购买制品仓库单服务套餐,或者开通/购买软件开发生产线服务组合套餐,体验一站式、全流程、安全可信的软件开发生产线。如果已经购买了CodeArts套餐,则不能再单独购买制品仓库服务。 购买制品仓库服务需要您拥有华为账号,或拥有Tenant Administrator权限的 IAM 用户账号,配置权限策略方法请参考创建用户组并授权。
  • 规则说明 2020年10月16日前,未在CodeArts某个区域下产生过费用的用户,按照新版计费规则,需在该区域开通/购买CodeArts或单独购买制品仓库服务后使用。 在该区域内产生过费用的用户,延续旧版计费规则,可参考购买服务在该区域开通制品仓库服务包年/包月套餐。 例如: 用户于2020年3月在“华北-北京四”购买了半年期的包月套餐。由于疫情影响业务,套餐到期后关闭了CodeArts服务;2020年10月20日将重新启用CodeArts。 若用户仍使用“华北-北京四”,可以购买旧版套餐使用。 若用户使用其它区域,则需购买CodeArts或者制品仓库服务新版计费。