更新时间:2022-07-28 GMT+08:00
分享

上传私有组件

只有仓库管理员与开发者角色才能够上传私有组件,在“独立用户权限”页面可设置仓库角色。

基础操作步骤

上传组件的操作步骤如下。

  1. 进入私有依赖库,在左侧边栏中单击待上传私有组件的目标仓库。
  2. 单击页面右侧“上传”

  3. 在弹框中输入组件参数,并上传文件,单击“上传”

    -

    每种类型组件的详细配置请参考以下各节中的说明。

上传Maven组件

私有依赖库支持两种上传模式:POM模式与GAV模式。

上传模式

说明

POM模式

GAV参数来自于POM文件,系统将保留组件的传递依赖关系。

GAV模式

GAV,即Group ID、Artifact ID、Version,是jar包的唯一标识。GAV参数来源自于手动输入,系统将自动生成传递依赖的POM文件。

  • POM模式

    POM模式可以只上传pom文件,也可上传pom文件与相关的组件,最后上传文件名称由pom文件中的groupId、artifactId、version决定,更详细规则可通过弹框中的查看。

    pom文件最基本结构如下:

    <project>
      <modelVersion>4.0.0</modelVersion>
      <groupId>demo</groupId>
      <artifactId>demo</artifactId>
      <version>1.0</version>
    </project>

    modelVersion这个标签必须存在,而且值必须是4.0.0,这标志着使用的是maven2。

    当同时上传POM和File时,上传的pom文件中的artifactId和version需要与上传的File的名称对应,例如pom文件中的artifactId值为demo,version值为1.0,则File文件名称必须为demo-1.0,否则就会上传失败。

  • GAV模式

    GAV模式模式中Group ID、Artifact ID、Version三个参数手动输入并决定上传文件名称,Extension为打包类型,决定上传文件类型。

    Classifier为分类,用于区分从同一POM构建出的具有不同内容的制品。该字段是可选的,支持大小写字母、数字、下划线(_)、连字符(-)和点(.),如果输入会附加到文件名后。

    常见使用场景:

    • 区分不同版本:如demo-1.0-jdk13.jar和demo-1.0-jdk15.jar。
    • 区分不同用途:如demo-1.0-javadoc.jar和demo-1.0-sources.jar。

上传npm组件

私有依赖库支持上传tgz格式的npm组件包,上传时需要配置以下两个参数。

参数

说明

PackageName

请与打包时的配置文件“package.json”“name”保持一致。

Version

请与打包时的配置文件“package.json”“version”保持一致。

在上传组件时,PackageName需要以创建仓库时添加的路径列表中的路径开头,详细可见帮助指导中的“仓库配置说明”。

例如:

创建npm仓库时,添加的路径为“@test”

上传组件到该仓库时,“PackageName”中的“@test”存在于新建仓库时的路径列表中,可以成功上传。若使用其他不存在与列表中的路径,如“@npm”,则会上传失败。

上传成功之后,可在仓库组件列表中看到tgz格式的组件包,同时在路径“.npm”下生成对应的元数据。

上传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}

上传PyPI组件

建议使用以下命令将待上传组件打包whl格式的安装包,以便使用pip安装。

python setup.py sdist bdist_wheel

上传组件时需要配置以下两个参数。

参数

说明

PackageName

请与打包时的配置文件“setup.py”“name”保持一致。

Version

请与打包时的配置文件“setup.py”“version”保持一致。

上传成功之后,可在仓库组件列表中看到whl格式的安装包,同时在路径“.pypi”下生成对应的元数据,可用于pip安装。

上传RPM私有组件

建议使用以下规范打包命名RPM二进制文件。

软件名称-软件的主版本号.软件的次版本号.软件的修订号-软件编译次数.软件适合的硬件平台.rpm

例如:hello-0.17.2-54.x86_64.rpm。其中,“hello”是软件名称,“0”是软件的主版本号,“17”是软件的次版本号,“2”是软件的修订号,“54”是软件编译次数,“x86_64”是软件适合的硬件平台。

上传组件时需要配置以下两个参数。

参数

说明

Component

组件名称。

Version

RPM二进制包的版本。

上传成功之后,可在仓库组件列表中看到RPM二进制包,同时在组件名称路径下生成对应的元数据“repodata”目录,可用于yum安装。

上传debian私有组件

上传debian私有组件时,需要配置以下5个参数:

参数

参数说明

Distribution

软件包发行版本。

Component

软件包组件名称。

Architecture

软件包体系结构。

Path

软件包的存储路径,默认上传至根路径。

File

软件包的本地存储路径。

上传成功之后,可在仓库组件列表中看到deb格式的安装包,同时在路径“dists”下生成对应的元数据,可用于debian安装。

分享:

    相关文档

    相关产品