

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

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

# 将源存储库连接到工作流
<a name="workflows-sources"></a>

*源*也称为*输入源*，是一个源存储库，[工作流操作](workflows-actions.md)连接到该存储库以获取执行操作所需的文件。例如，工作流操作可能连接到源存储库来获取应用程序源文件，以便构建应用程序。

CodeCatalyst 工作流支持以下来源：
+ CodeCatalyst 源存储库-有关更多信息，请参阅[使用源存储库存储代码并协作处理代码 CodeCatalyst使用源存储库存储代码并进行协作](source.md)。
+ GitHub 存储库、Bitbucket 存储库和 GitLab 项目存储库 — 有关更多信息，请参阅[为带有扩展程序的项目添加功能 CodeCatalyst使用扩展向项目添加功能](extensions.md)。

**Topics**
+ [指定工作流文件的源存储库](workflows-sources-specify-workflow-def.md)
+ [指定工作流操作的源存储库](workflows-sources-specify-action.md)
+ [引用源存储库文件](workflows-sources-reference-files.md)
+ [BranchName'和' CommitId '变量](workflows-sources-variables.md)

# 指定工作流文件的源存储库
<a name="workflows-sources-specify-workflow-def"></a>

按照以下说明指定要存储工作流程定义文件的 CodeCatalyst 源存储库。如果您想指定 GitHub 存储库、Bitbucket 存储库或 GitLab 项目存储库，请参阅。[为带有扩展程序的项目添加功能 CodeCatalyst使用扩展向项目添加功能](extensions.md)

您的工作流定义文件所在的源存储库由标签 `WorkflowSource` 来标识。

**注意**  
首次提交工作流定义文件时，您可以指定工作流定义文件所在的源存储库。提交后，存储库和工作流定义文件将永久链接在一起。在初始提交后，要想更改存储库，唯一方法是在不同的存储库中重新创建工作流。

**指定用于存储工作流定义文件的源存储库**

1. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 选择您的项目。

1. 在导航窗格中，选择 **CI/CD**，然后选择**工作流**。

1. 选择**创建工作流**以创建工作流。有关更多信息，请参阅 [创建工作流](workflows-create-workflow.md)。

   在工作流程创建过程中，您可以指定要 CodeCatalyst存储工作流程定义文件的存储库、分支和文件夹。

# 指定工作流操作的源存储库
<a name="workflows-sources-specify-action"></a>

按照以下说明指定用于工作流操作的源存储库。在启动时，操作将配置的源存储库中的文件捆绑到构件中，将该构件下载到运行该操作的[运行时环境 Docker 映像](build-images.md)，然后使用下载的文件完成其处理。

**注意**  
目前，在一个工作流操作中，您只能指定一个源存储库，即工作流定义文件所在的源存储库（位于 `.codecatalyst/workflows/` 目录或其子目录中）。此源存储库由标签 `WorkflowSource` 表示。

------
#### [ Visual ]

**指定操作将使用的源存储库（可视化编辑器）**

1. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 选择您的项目。

1. 在导航窗格中，选择 **CI/CD**，然后选择**工作流**。

1. 选择工作流的名称。您可以按定义工作流的源存储库或分支名称筛选，也可以按工作流名称或状态筛选。

1. 选择**编辑**。

1. 选择**可视化**。

1. 在工作流图表中，选择要为其指定源的操作。

1. 选择**输入**。

1. 在**源 – 可选**中，执行以下操作：

   指定表示操作所需的源存储库的标签。当前，支持的唯一标签是 `WorkflowSource`，它表示存储工作流定义文件的源存储库。

   如果省略源，则必须在 `action-name/Inputs/Artifacts` 下至少指定一个输入构件。

   有关来源的更多信息，请参阅[将源存储库连接到工作流](workflows-sources.md)。

1. （可选）选择**验证**，在提交之前验证工作流的 YAML 代码。

1. 选择**提交**，输入提交消息，然后再次选择**提交**。

------
#### [ YAML ]

**指定操作将使用的源存储库（YAML 编辑器）**

1. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 选择您的项目。

1. 在导航窗格中，选择 **CI/CD**，然后选择**工作流**。

1. 选择工作流的名称。您可以按定义工作流的源存储库或分支名称筛选，也可以按工作流名称或状态筛选。

1. 选择**编辑**。

1. 选择 **YAML**。

1. 在操作中，添加类似于下文的代码：

   ```
   action-name:
    Inputs:
      Sources:
        - WorkflowSource
   ```

   有关更多信息，请参阅[工作流 YAML 定义](workflow-reference.md) 中对相应操作的 `Sources` 属性的说明。

1. （可选）选择**验证**，在提交之前验证工作流的 YAML 代码。

1. 选择**提交**，输入提交消息，然后再次选择**提交**。

------

# 引用源存储库文件
<a name="workflows-sources-reference-files"></a>

如果您的文件位于源存储库中，并且需要在工作流操作中引用这些文件，请完成以下过程。

**注意**  
另请参阅[在构件中引用文件](workflows-working-artifacts-refer-files.md)。

**引用存储在源存储库中的文件**
+ 在要引用文件的操作中，添加类似于以下内容的代码：

  ```
  Actions:
    My-action:
      Inputs:
        Sources:
          - WorkflowSource
        Configuration:
          Steps:
          - run: cd my-app && cat file1.jar
  ```

  在上面的代码中，操作查看 `WorkflowSource` 源存储库 `my-app` 根目录下的目录，以查找并显示 `file1.jar` 文件。

# BranchName'和' CommitId '变量
<a name="workflows-sources-variables"></a>

当您的工作流程运行时， CodeCatalyst 源代码会生成`BranchName`并设置和`CommitId`变量。这些变量被称为*预定义变量*。有关这些变量的信息，请参见下表。

有关在工作流中引用这些变量的信息，请参阅[使用预定义变量](workflows-using-predefined-variables.md)。


| 键 | 值 | 
| --- | --- | 
|  CommitId  |  提交 ID 代表了启动工作流运行时存储库的状态。 示例：`example3819261db00a3ab59468c8b` 另请参阅：[示例：引用 “CommitId” 预定义变量](workflows-predefined-examples.md#workflows-working-with-variables-ex-refer-action)  | 
|  BranchName  |  在其上启动工作流运行的分支的名称。 示例：`main`、`feature/branch`、`test-LiJuan`。 另请参阅：[示例：引用 “BranchName” 预定义变量](workflows-predefined-examples.md#workflows-working-with-variables-ex-branch)  | 