

Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[如何從 CodeCatalyst 遷移](migration.md)。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 定序動作
<a name="workflows-depends-on"></a>

根據預設，當您將動作新增至工作流程時，它們會在[視覺化編輯器](workflow.md#workflow.editors)中並排新增。這表示當您啟動工作流程執行時，動作會平行執行。如果您希望動作按順序執行 （並在視覺化編輯器中垂直顯示），您必須在它們之間設定相依性。例如，您可以設定`Test`動作來相依`Build`動作，讓測試動作在建置動作之後執行。

您可以在動作和動作群組之間設定相依性。您也可以設定one-to-many相依性，讓一個動作依賴其他幾個動作才能開始。請參閱 中的準則[在動作之間設定相依性](workflows-depends-on-set-up.md)，以確保您的相依性設定符合工作流程的 YAML 語法。

**Topics**
+ [如何在動作之間設定相依性的範例](workflows-depends-on-examples.md)
+ [在動作之間設定相依性](workflows-depends-on-set-up.md)

# 如何在動作之間設定相依性的範例
<a name="workflows-depends-on-examples"></a>

下列範例示範如何在工作流程定義檔案中設定動作和群組之間的相依性。

**Topics**
+ [範例：設定簡單的相依性](#workflows-depends-on-example-simple)
+ [範例：設定動作群組以相依於 動作](#workflows-depends-on-example-action-groups-actions)
+ [範例：設定動作群組以依賴另一個動作群組](#workflows-depends-on-example-two-action-groups)
+ [範例：設定動作群組以相依於多個動作](#workflows-depends-on-example-advanced)

## 範例：設定簡單的相依性
<a name="workflows-depends-on-example-simple"></a>

下列範例示範如何使用 `DependsOn` 屬性將`Test`動作設定為相依於`Build`動作。

```
Actions:
  Build:
    Identifier: aws/build@v1
    Configuration:
      ...
  Test:
    DependsOn:
      - Build
    Identifier: aws/managed-test@v1
     Configuration:
       ...
```

## 範例：設定動作群組以相依於 動作
<a name="workflows-depends-on-example-action-groups-actions"></a>

下列範例示範如何設定`DeployGroup`動作群組以相依於 `FirstAction`動作。請注意，動作和動作群組位於相同層級。

```
Actions:
  FirstAction: #An action outside an action group
    Identifier: aws/github-actions-runner@v1
    Configuration:
      ...
  DeployGroup: #An action group containing two actions
    DependsOn: 
      - FirstAction
    Actions:
      DeployAction1:
      ...
      DeployAction2:
      ...
```

## 範例：設定動作群組以依賴另一個動作群組
<a name="workflows-depends-on-example-two-action-groups"></a>

下列範例顯示如何設定`DeployGroup`動作群組以相依於`BuildAndTestGroup`動作群組。請注意，動作群組位於相同層級。

```
Actions:
  BuildAndTestGroup: # Action group 1
    Actions:
      BuildAction:
      ...
      TestAction:
      ...
  DeployGroup: #Action group 2
    DependsOn: 
      - BuildAndTestGroup
    Actions:
      DeployAction1:
      ...
      DeployAction2:
      ...
```

## 範例：設定動作群組以相依於多個動作
<a name="workflows-depends-on-example-advanced"></a>

下列範例示範如何設定`DeployGroup`動作群組以相依於`FirstAction`動作、`SecondAction`動作以及`BuildAndTestGroup`動作群組。請注意， `DeployGroup` 與 `FirstAction`、 `SecondAction`和 位於相同層級`BuildAndTestGroup`。

```
Actions:
  FirstAction: #An action outside an action group
    ...
  SecondAction: #Another action 
    ...
  BuildAndTestGroup: #Action group 1
    Actions:
      Build:
      ...
      Test:
      ...
  DeployGroup: #Action group 2
    DependsOn: 
      - FirstAction
      - SecondAction
      - BuildAndTestGroup
    Actions:
      DeployAction1:
      ...
      DeployAction2:
      ...
```

# 在動作之間設定相依性
<a name="workflows-depends-on-set-up"></a>

使用下列指示來設定工作流程中動作之間的相依性。

設定相依性時，請遵循下列準則：
+ 如果動作位於群組中，則該動作只能依賴相同群組中的其他動作。
+ 動作和動作群組可以依賴 YAML 階層中*相同層級*的其他動作和動作群組，但*不能*依賴不同層級的動作和動作群組。

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

**使用視覺化編輯器設定相依性**

1. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

1. 選擇您的專案。

1. 在導覽窗格中，選擇 **CI/CD**，然後選擇**工作流程**。

1. 選擇工作流程的名稱。您可以依定義工作流程的來源儲存庫或分支名稱進行篩選，或依工作流程名稱或狀態進行篩選。

1. 選擇**編輯**。

1. 選擇**視覺化**。

1. 在工作流程圖表中，選擇將相依於另一個動作的動作。

1. 選擇**輸入**索引標籤。

1. 在 **中，視 - 選用**而定，執行下列動作：

   指定必須成功執行的動作、動作群組或閘道，才能執行此動作。

   如需 'depends on' 功能的詳細資訊，請參閱 [定序動作](workflows-depends-on.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:
     DependsOn:
       - action-1
   ```

   如需更多範例，請參閱[如何在動作之間設定相依性的範例](workflows-depends-on-examples.md)。如需一般準則，請參閱 [在動作之間設定相依性](#workflows-depends-on-set-up)。如需詳細資訊，請參閱 中 [工作流程 YAML 定義](workflow-reference.md) 動作的 `DependsOn` 屬性描述。

1. （選用） 選擇**驗證**以在遞交之前驗證工作流程的 YAML 程式碼。

1. 選擇**遞交**，輸入遞交訊息，然後再次選擇**遞交**。

------