本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
套餐概念
以下是管理、发布或使用中的软件包时需要了解的一些概念和术语 CodeCatalyst。
软件包
软件包是一个包含安装软件和解决任何依赖关系所需的软件和元数据的捆绑包。 CodeCatalyst 支持 npm 包格式。
一揽子包含:
Package 命名空间
某些软件包格式支持分层包名,以将软件包组织成逻辑组并帮助避免名称冲突。具有相同名称的包可以存储在不同的命名空间中。例如,npm 支持作用域,而 npm 包的作用域@types/node
为@types
,名称为。node
@types
作用域中还有许多其他的程序包名称。在中 CodeCatalyst,作用域(“类型”)被称为包命名空间,名称(“节点”)被称为包名称。对于 Maven 程序包,程序包命名空间与 Maven GroupId 相对应。Maven 程序包 org.apache.logging.log4j:log4j
的 groupID(程序包命名空间)为 org.apache.logging.log4j
,artifactID(程序包名称)为 log4j
。某些包格式,例如 Python,不支持概念类似于 npm 作用域或 Maven GroupId 的分层名称。如果您无法对软件包名称进行分组,则可能更难避免名称冲突。
软件包版本
程序包版本 标识程序包的特定版本,例如 @types/node@12.6.9
。版本号格式和语义因不同的程序包格式而异。例如,npm 程序包版本必须符合语义版本控制规范
资产
资产是存储在中与软件包版本关联 CodeCatalyst 的单个文件,例如 npm .tgz
文件或 Maven POM 或JAR文件。
Package 存储库
CodeCatalyst 包存储库包含一组包,其中包含软件包版本,每个版本都映射到一组资产。Package 存储库是多种语言的,这意味着单个存储库可以包含任何受支持类型的软件包。每个包存储库都公开了端点,用于使用 NuGet CLIs (nuget
、dotnet
)、Maven () 和 Python CLICLIs(pip
和mvn
)等工具获取和发布包。npm
CLI twine
有关中的 CodeCatalyst软件包配额(包括在每个空间中可以创建多少个软件包存储库)的信息,请参阅套餐配额。
您可以通过将软件包存储库设置为上游来将其链接到另一个软件包存储库。将存储库设置为上游存储库时,您可以使用上游的任何软件包以及链中的任何其他上游存储库。有关更多信息,请参阅 上游存储库。
Gateway 存储库是一种特殊类型的软件包存储库,用于从官方外部软件包授权机构提取和存储软件包。有关更多信息,请参阅 网关存储库。
上游存储库
您可以使用 CodeCatalyst 在两个软件包存储库之间创建上游关系。当可以从下游存储库的包存储库端点访问软件包存储库中包含的软件包版本时,软件包存储库就是另一个软件包存储库的上游。通过上游关系,从客户端的角度来看,两个软件包存储库的内容可以有效地合并。
例如,如果软件包管理器请求存储库中不存在的软件包版本,则 CodeCatalyst 会在已配置的上游存储库中搜索该软件包的版本。按配置顺序搜索上游存储库,一旦找到软件包, CodeCatalyst 就会停止搜索。
网关存储库
网关存储库是一种特殊类型的软件包存储库,它与支持的外部官方软件包授权机构相连。当您将网关存储库添加为上游存储库时,您可以从相应的官方软件包授权机构使用软件包。您的下游存储库不与公共存储库通信,相反,所有内容都由网关存储库进行中介。以这种方式使用的软件包同时存储在网关存储库和收到原始请求的下游存储库中。
网关存储库是预定义的,但必须在每个项目中创建它们才能使用。以下列表包含可以在中创建的每个网关存储库 CodeCatalyst 以及它们所连接的包权限。
-
npm-public-registry-gateway提供来自 npmjs.com 的 npm 软件包。
-
maven-central-gateway提供来自 Maven Central 存储库的 Maven 软件包。
-
google-android-gateway提供来自谷歌安卓系统的 Maven 软件包。
-
commonsware-gateway 提供的 Maven CommonsWare
-
gradle-plugins-gateway提供来自 Gradle 插件的 Maven 软件包。
-
nuget-gallery-gateway提供 NuGet 图库中的 NuGet 软件包。
-
pypi-gateway 提供来自 Python 包索引的 Python 包。