

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

# CloudFormation 成品
<a name="continuous-delivery-codepipeline-cfn-artifacts"></a>

CodePipeline 會對成品執行任務，因為 CodePipeline 執行管道。對於 CloudFormation，成品可以包含堆疊範本檔案、範本組態檔案或兩者。CodePipeline 使用這些成品來使用 CloudFormation 堆疊和變更集。

如果您使用 Amazon Simple Storage Service (Amazon S3) 作為來源儲存庫，則必須先將範本和範本組態檔案壓縮為單一檔案，再將檔案上傳至 S3 儲存貯體。對於其他儲存庫，例如 GitHub 和 AWS CodeCommit，上傳成品而不壓縮。如需詳細資訊，請參閱《AWS CodePipeline 使用者指南》中的[建立管道、階段和動作](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipelines-create.html)。**

您可以將所需數目的檔案新增至儲存庫。例如，建議您包括相同範本的兩個不同組態：一個用於測試組態，另一個用於生產組態。

本主題說明每種成品類型。

**Topics**
+ [堆疊範本檔案](#w2aac21c15c13)
+ [範本組態檔案](#w2aac21c15c15)
+ [另請參閱](#w2aac21c15c17)

## 堆疊範本檔案
<a name="w2aac21c15c13"></a>

堆疊範本檔案會定義 CloudFormation 佈建和設定的資源。這些檔案與您使用 建立或更新堆疊時所使用的範本檔案相同 CloudFormation。您可以使用 YAML 或 JSON 格式的範本。如需範本的詳細資訊，請參閱[CloudFormation 範本區段](template-anatomy.md)。

## 範本組態檔案
<a name="w2aac21c15c15"></a>

範本組態檔案是一種 JSON 格式的文字檔案，可指定範本參數值、[堆疊政策](protect-stack-resources.md)和標籤。使用這些組態檔案，以指定參數值或堆疊的堆疊政策。您指定的所有參數值都必須宣告於相關聯的範本中。

若您在檔案包含敏感資訊 —例如密碼— 請限制此檔案的存取。例如，如果您將成品上傳至 S3 儲存貯體，則請使用 [S3 儲存貯體政策或使用者政策](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-management.html)來限制存取權。

若要建立組態檔案，請使用下列格式：

```
{
  "Parameters" : {
    "NameOfTemplateParameter" : "ValueOfParameter",
    ...
  },
  "Tags" : {
    "TagKey" : "TagValue",
    ...
  }, 
  "StackPolicy" : {
    "Statement" : [
      StackPolicyStatement
    ]
  }
}
```

下列範例指定 `TestEC2Key` 參數的 `KeyName`，並新增值為 `Department` 的 `Marketing` 標籤，然後新增允許所有更新動作的堆疊政策，但刪除資源的更新除外。

```
{
  "Parameters" : {
    "KeyName" : "TestEC2Key"
  },
  "Tags" : {
    "Department" : "Marketing"
  },
  "StackPolicy" : {
    "Statement" : [
      {
        "Effect" : "Allow",
        "NotAction" : "Update:Delete",
        "Principal": "*",
        "Resource" : "*"
      }
    ]
  }
}
```

## 另請參閱
<a name="w2aac21c15c17"></a>

以下相關資源可協助您使用這些參數。
+ 如需有關 CodePipeline 中 CloudFormation 動作參數的詳細資訊，請參閱《AWS CodePipeline 使用者指南》**中的 [CloudFormation 部署動作組態參考](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-CloudFormation.html)。
+ 如需動作提供者的範例範本值 (例如 `Owner` 欄位或 `configuration` 欄位)，請參閱 *AWS CodePipeline User Guide* (《 使用者指南》) 中的 [Action structure reference](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference.html) (動作結構參考)。
+ 若要下載 YAML 或 JSON 格式的管道堆疊範本範例，請參閱《AWS CodePipeline 使用者指南》中的[教學課程：使用 CloudFormation建立管道](https://docs.aws.amazon.com/codepipeline/latest/userguide/tutorials-cloudformation.html)。**