

亚马逊 CodeCatalyst 不再向新买家开放。现有客户可以继续正常使用该服务。有关更多信息，请参阅 [如何从中迁移 CodeCatalyst](migration.md)。

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

# 示例：工作流中的程序包存储库
<a name="workflows-working-packages-ex"></a>

以下示例演示了如何在工作流定义文件中引用程序包。

**Topics**
+ [示例：使用 `NpmConfiguration` 定义程序包](#workflows-working-packages-ex-basic)
+ [示例：覆盖默认注册表](#workflows-working-packages-ex-overriding-registry)
+ [示例：覆盖程序包注册表中的范围](#workflows-working-packages-ex-overriding-scopes)
+ [示例：手动配置`pip`为使用进行身份验证 CodeCatalyst](#workflows-working-packages-pypi-token)

## 示例：使用 `NpmConfiguration` 定义程序包
<a name="workflows-working-packages-ex-basic"></a>

以下示例展示了如何使用 `NpmConfiguration` 在工作流定义文件中定义程序包。

```
Actions:
  Build:
  Identifier: aws/build-beta@v1
  Configuration:
    Packages:
        NpmConfiguration:
          PackageRegistries:
            - PackagesRepository: main-repo
            - PackagesRepository: scoped-repo
              Scopes:
                - "@scope1"
```

此示例如下所示配置 npm 客户端：

```
default: main-repo
@scope1: scoped-repo
```

在此示例中，定义了两个存储库。默认注册表设置为 `main-repo`，在定义时没有范围。范围 `@scope1` 在 `PackageRegistries` 中为 `scoped-repo` 配置。

## 示例：覆盖默认注册表
<a name="workflows-working-packages-ex-overriding-registry"></a>

以下示例演示了如何覆盖默认注册表。

```
NpmConfiguration:
  PackageRegistries:
    - PackagesRepository: my-repo-1
    - PackagesRepository: my-repo-2
    - PackagesRepository: my-repo-3
```

此示例如下所示配置 npm 客户端：

```
default: my-repo-3
```

如果您指定多个默认存储库，则优先使用最后一个存储库。在此示例中，列出的最后一个存储库是 `my-repo-3`，这意味着 npm 将连接到 `my-repo-3`。这会覆盖存储库 `my-repo-1` 和 `my-repo-2`。

## 示例：覆盖程序包注册表中的范围
<a name="workflows-working-packages-ex-overriding-scopes"></a>

以下示例展示了如何覆盖程序包注册表中的范围。

```
NpmConfiguration:
  PackageRegistries:
    - PackagesRepository: my-default-repo
    - PackagesRepository: my-repo-1
      Scopes:
        - "@scope1"
        - "@scope2"
    - PackagesRepository: my-repo-2
      Scopes:
        - "@scope2"
```

此示例如下所示配置 npm 客户端：

```
default: my-default-repo
@scope1: my-repo-1
@scope2: my-repo-2
```

如果您包含覆盖范围，则优先使用最后一个存储库。在本示例中，在 `PackageRegistries` 中最后一次配置范围 `@scope2` 是为 `my-repo-2` 配置的。这会覆盖为 `my-repo-1` 配置的范围 `@scope2`。

## 示例：手动配置`pip`为使用进行身份验证 CodeCatalyst
<a name="workflows-working-packages-pypi-token"></a>

以下示例向您展示了如何在生成操作中引用 CodeCatalyst 授权环境变量。

```
Actions:
  Build:
    Identifier: aws/build@v1.0.0
    Configuration:
      Steps:
        - Run: pip config set global.index-url https://$CATALYST_MACHINE_RESOURCE_NAME:$CATALYST_PACKAGES_AUTHORIZATION_TOKEN@codecatalyst.aws/pypi/my-space/my-project/my-repo/simple/
    Packages:
      ExportAuthorizationToken: true
```