

Amazon 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. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

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：//[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. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

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)  | 