将包发布到软件 CodeCatalyst 包存储库 - Amazon CodeCatalyst

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

将包发布到软件 CodeCatalyst 包存储库

您可以使用包管理器工具将任何支持的软件包类型的版本发布到软件包存储库。 CodeCatalyst 发布软件包版本的步骤如下:

将软件包版本发布到 CodeCatalyst 包存储库
  1. 如果还没有,请创建一个软件包存储库

  2. 将您的包管理器连接到您的包存储库。有关如何将 npm 包管理器连接到软件 CodeCatalyst 包存储库的说明,请参阅配置和使用 npm

  3. 使用连接的软件包管理器发布您的软件包版本。

发布和上游存储库

在中 CodeCatalyst,您无法发布存在于可访问的上游存储库或公共存储库中的软件包版本。例如,假设您要将 npm 包发布到包存储库 lodash@1.0myrepo,并myrepo通过配置为上游存储库的网关存储库连接到 npmjs.com。如果存在lodash@1.0于上游存储库或 npmjs.com 中,则myrepo通过发出 CodeCatalyst 409 冲突错误来拒绝任何向其发布的尝试。这有助于防止您意外发布与上游存储库中的软件包名称和版本相同的包,这可能会导致意外行为。

您仍然可以发布上游存储库中存在的软件包名称的不同版本。例如,如果存在lodash@1.0于上游存储库中,但lodash@1.1不存在,则可以发布lodash@1.1到下游存储库。

私有程序包和公有存储库

CodeCatalyst 不会将存储在存储 CodeCatalyst 库中的软件包发布到公共存储库,例如 npmjs.com 或 Maven Central。 CodeCatalyst 将软件包从公共存储库导入 CodeCatalyst 存储库,但它不会将软件包朝相反的方向移动。您发布到 CodeCatalyst 存储库的包将保持私有状态,并且仅适用于存储库所属的 CodeCatalyst 项目。

覆盖程序包资产

您无法重新发布已存在且包含不同内容的程序包资产。例如,假设你已经发布了一个包含JAR资产mypackage-1.0.jar的 Maven 包。仅当新旧资产的校验和完全相同时,您才能再次发布该资产。要重新发布包含新内容的相同资源,请先删除包版本。尝试重新发布具有不同内容的相同资源名称将导致 HTTP 409 冲突错误。

对于支持多种资产(Python 和 Maven)的包格式,您可以随时向现有包版本中添加不同名称的新资源,前提是您拥有所需的权限。由于 npm 和每个软件包版本 NuGet 仅支持一个资产,因此要修改已发布的软件包版本,必须先将其删除。

如果您尝试重新发布已存在的资产(例如 mypackage-1.0.jar),并且已发布资产和新资产的内容相同,则因为该操作具有幂等性,所以操作会成功。