

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

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

# 工作流程概念
<a name="workflows-concepts"></a>

以下是在 CodeCatalyst 中使用工作流程建置、測試或部署程式碼時，應注意的一些概念和術語。

## 工作流程
<a name="workflows-concepts-workflows"></a>

*工作流程*是一種自動化程序，說明如何建置、測試和部署您的程式碼，做為持續整合和持續交付 (CI/CD) 系統的一部分。工作流程會定義工作流程執行期間要採取的一系列步驟或*動作*。工作流程也會定義導致工作流程啟動的事件或*觸發條件*。若要設定工作流程，您可以使用 CodeCatalyst 主控台的[視覺化或 YAML 編輯器](https://docs.aws.amazon.com//codecatalyst/latest/userguide/flows.html#workflow.editors)建立*工作流程定義檔案*。

**提示**  
若要快速了解如何在專案中使用工作流程，[請使用藍圖建立專案](https://docs.aws.amazon.com//codecatalyst/latest/userguide/projects-create.html#projects-create-console-template)。每個藍圖都會部署可檢閱、執行和實驗的正常運作工作流程。

## 工作流程定義檔案
<a name="workflows-concepts-workflows-def"></a>

*工作流程定義檔案*是描述工作流程的 YAML 檔案。根據預設，檔案會存放在[來源儲存庫](source-repositories.md)根目錄的`~/.codecatalyst/workflows/`資料夾中。檔案可以有 .yml 或 .yaml 副檔名，且副檔名必須為小寫。

如需工作流程定義檔案的詳細資訊，請參閱 [工作流程 YAML 定義](workflow-reference.md)。

## 動作
<a name="workflows-concepts-actions"></a>

*動作*是工作流程的主要建置區塊，並定義要在工作流程執行期間執行的邏輯工作單位或任務。一般而言，工作流程包含多個動作，這些動作會根據您的設定方式依序或平行執行。

如需 動作的詳細資訊，請參閱 [設定工作流程動作](workflows-actions.md)。

## 動作群組
<a name="workflows-concepts-action-groups"></a>

*動作群組*包含一或多個動作。將動作分組為動作群組可協助您整理工作流程，也可讓您設定不同群組之間的相依性。

如需動作群組的詳細資訊，請參閱 [將動作分組為動作群組](workflows-group-actions.md)。

## 成品
<a name="workflows-concepts-artifacts"></a>

*成品*是工作流程動作的輸出，通常由資料夾或檔案封存組成。成品很重要，因為它們允許您在動作之間共用檔案和資訊。

如需成品的詳細資訊，請參閱 [在動作之間共用成品和檔案](workflows-working-artifacts.md)。

## 運算
<a name="workflows-concepts-compute"></a>

*運算*是指由 CodeCatalyst 管理和維護以執行工作流程動作的運算引擎 (CPU、記憶體和作業系統）。

如需運算的詳細資訊，請參閱 [設定運算和執行時間映像](workflows-working-compute.md)。

## 環境
<a name="workflows-concepts-environments"></a>

CodeCatalyst *環境*不會與[開發環境](https://docs.aws.amazon.com/codecatalyst/latest/userguide/devenvironment.html)混淆，會定義 CodeCatalyst [工作流程](workflow.md)連線的目標 AWS 帳戶 和選用 Amazon VPC。環境也會定義工作流程存取目標帳戶中 AWS 的服務和資源所需的 [IAM 角色](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html)。

您可以設定多個環境並為其命名，例如開發、測試、預備和生產等名稱。當您部署到這些環境中時，有關部署的資訊會顯示於環境中的 CodeCatalyst **部署活動**和**部署目標**標籤上。

如需環境的詳細資訊，請參閱 [部署至 AWS 帳戶 和 VPCs](deploy-environments.md)。

## 閘道
<a name="workflows-concepts-gates"></a>

除非符合特定條件，否則*閘道*是可用於防止工作流程執行的工作流程元件。閘道的範例是**核准**閘道，使用者必須在 CodeCatalyst 主控台中提交核准，工作流程執行才能繼續。

您可以在工作流程中的動作序列之間或在第一個動作之前新增閘道 （在**來源**下載之後立即執行）。如果您需要，也可以在最後一個動作之後新增閘道。

如需閘道的詳細資訊，請參閱 [閘道工作流程執行](workflows-gates.md)。

## 報告
<a name="workflows-concepts-test-reports"></a>

*報告*包含工作流程執行期間所發生測試的詳細資訊。您可以建立測試報告、程式碼涵蓋範圍報告、軟體合成分析報告和靜態分析報告等報告。您可以使用報告來協助對工作流程期間的問題進行疑難排解。如果您有許多來自多個工作流程的報告，您可以使用您的報告來檢視趨勢和失敗率，以協助您最佳化應用程式和部署組態。

如需報告的詳細資訊，請參閱 [品質報告類型](test-workflow-actions.md#test-reporting)。

## 執行
<a name="workflows-concepts-runs"></a>

*執行*是工作流程的單一迭代。在執行期間，CodeCatalyst 會執行工作流程組態檔中定義的動作，並輸出相關的日誌、成品和變數。

如需執行的詳細資訊，請參閱 [執行工作流程](workflows-working-runs.md)。

## 來源
<a name="workflows-concepts-sources"></a>

*來源*也稱為*輸入來源*，是[工作流程動作](workflows-actions.md)所連接的來源儲存庫，以取得執行其操作所需的檔案。例如，工作流程動作可能會連線到來源儲存庫，以取得應用程式來源檔案，以建置應用程式。

如需來源的詳細資訊，請參閱 [將來源儲存庫連線至工作流程](workflows-sources.md)。

## Variables
<a name="workflows-concepts-variables"></a>

 *變數*是金鑰值對，其中包含您可以在 Amazon CodeCatalyst 工作流程中參考的資訊。工作流程執行時，變數的值部分會取代為實際值。

如需變數的詳細資訊，請參閱 [在工作流程中使用變數](workflows-working-with-variables.md)。

## 工作流程觸發條件
<a name="workflows-concepts-triggers"></a>

*工作流程觸發*或只是*觸發*，可讓您在特定事件發生時自動啟動工作流程執行，例如程式碼推送。您可能想要設定觸發條件，讓您的軟體開發人員無需透過 CodeCatalyst 主控台手動啟動工作流程執行。

您可以使用三種類型的觸發：
+ **推送** – 程式碼推送觸發會在推送遞交時啟動工作流程執行。
+ **提取請求** – 提取請求觸發會在建立、修訂或關閉提取請求時啟動工作流程執行。
+ **排程** – 排程觸發程序會導致工作流程執行從您定義的排程開始。考慮使用排程觸發條件來執行軟體的夜間建置，以便軟體開發人員可以在隔天早上使用最新的建置。

您可以單獨使用推送、提取請求和排程觸發，或在相同的工作流程中結合使用。

觸發是選用的，如果您未設定任何 ，您只能手動啟動工作流程。

關於觸發條件的詳細資訊，請參閱 [使用觸發程序自動啟動工作流程執行](workflows-add-trigger.md)。