

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

# 使用 建立 CodeArtifact 資源 AWS CloudFormation
<a name="cloudformation-codeartifact"></a>

CodeArtifact 已與 整合 AWS CloudFormation，這項服務可協助您建立和設定 AWS 資源的模型，讓您可減少建立和管理資源和基礎設施的時間。您可以建立範本來描述您想要的所有 AWS 資源，並 CloudFormation 負責為您佈建和設定這些資源。

使用 時 CloudFormation，您可以重複使用範本來持續且重複地設定 CodeArtifact 資源。只需描述您的資源一次，然後在多個帳戶和 AWS 區域中逐一佈建相同的資源。

## CodeArtifact 和 CloudFormation 範本
<a name="working-with-templates"></a>

若要佈建和設定 CodeArtifact 和相關服務的資源，您必須了解 [CloudFormation 範本](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-guide.html)。範本是以 JSON 或 YAML 格式化的文本檔案。這些範本說明您要在 CloudFormation 堆疊中佈建的資源。如果您不熟悉 JSON 或 YAML，您可以使用 CloudFormation 設計工具來協助您開始使用 CloudFormation 範本。如需詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的[什麼是 AWS CloudFormation 設計工具？](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/working-with-templates-cfn-designer.html)。

CodeArtifact 支援在其中建立網域、儲存庫和套件群組 CloudFormation。如需詳細資訊，包括 JSON 和 YAML 範本的範例，請參閱*CloudFormation 《 使用者指南*》中的下列主題：
+ [AWS::CodeArtifact::Domain](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-domain.html)
+ [AWS::CodeArtifact::Repository](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-repository.html)
+ [AWS::CodeArtifact::PackageGroup](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-codeartifact-packagegroup.html) 

## 防止刪除 CodeArtifact 資源
<a name="preventing-deletion-cloudformation"></a>

CodeArtifact 儲存庫包含重要的應用程式相依性，如果遺失，可能無法輕鬆重新建立。若要保護 CodeArtifact 資源免於在透過 CloudFormation 管理 CodeArtifact 資源時意外刪除，請在所有網域`DeletionPolicy`和儲存庫`Retain`上包含值為 的 和 `UpdateRetainPolicy` 屬性。如果從堆疊範本中移除資源，或意外刪除整個堆疊，這將防止刪除。下列 YAML 程式碼片段顯示具有這些屬性的基本網域和儲存庫：

```
Resources:
    MyCodeArtifactDomain:
        Type: 'AWS::CodeArtifact::Domain'
        DeletionPolicy: Retain
        UpdateReplacePolicy: Retain
        Properties:
            DomainName: "my-domain"

    MyCodeArtifactRepository:
        Type: 'AWS::CodeArtifact::Repository'
        DeletionPolicy: Retain
        UpdateReplacePolicy: Retain
        Properties:
            RepositoryName: "my-repo"
            DomainName: !GetAtt MyCodeArtifactDomain.Name
```

如需這些屬性的詳細資訊，請參閱*AWS CloudFormation 《 使用者指南*》中的 [DeletionPolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html) 和 [UpdateReplacePolicy](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-updatereplacepolicy.html)。

## 進一步了解 CloudFormation
<a name="learn-more-cloudformation"></a>

若要進一步了解 CloudFormation，請參閱下列資源：
+ [AWS CloudFormation](https://aws.amazon.com/cloudformation/)
+ [AWS CloudFormation 使用者指南](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)
+ [AWS CloudFormation 命令列界面使用者指南](https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html)