本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用创建 CodeCommit 资源Amazon CloudFormation
Amazon CodeCommit 与 Amazon CloudFormation 集成,后者是一项服务,可帮助您对 Amazon 资源进行建模和设置,这样您只需花较少的时间来创建和管理资源与基础设施。您创建一个模板来描述所有Amazon你想要的资源(例如仓库),以及Amazon CloudFormation为您预配置和配置这些资源。
当您使用Amazon CloudFormation,可重复使用您的模板来不断地重复设置 CodeCommit 资源。描述您的资源一次,然后在多个 Amazon Web Services 账户 和区域中反复预置相同的资源。
CodeCommit 和Amazon CloudFormation模板
要为 CodeCommit 和相关服务设置和配置资源,您必须了解Amazon CloudFormation模板. 模板是 JSON 或 YAML 格式的文本文件。这些模板描述要在 Amazon CloudFormation 堆栈中调配的资源。如果您不熟悉 JSON 或 YAML,可以在 Amazon CloudFormation Designer 的帮助下开始使用 Amazon CloudFormation 模板。有关更多信息,请参阅 Amazon CloudFormation 用户指南中的什么是 Amazon CloudFormation Designer?。
CodeCommit 支持在中创建存储库Amazon CloudFormation与从控制台或命令行创建存储库不同,您可以使用Amazon CloudFormation以创建存储库并从 Amazon S3 存储桶中的指定 .zip 文件自动将代码提交到新创建的存储库。有关更多信息(包括存储库的 JSON 和 YAML 模板示例),请参阅AWS::CodeCommit::Repository.
在您使用创建 CodeCommit 存储库时Amazon CloudFormation,您可以选择将代码提交到该存储库,作为创建过程的一部分,方法是在中配置属性Amazon: CodeCommit። CodeCommit. 您可以指定存储代码的 Amazon S3 存储桶,还可以选择使用BranchName 属性以指定在该代码的初始提交中将创建的默认分支的名称。这些属性仅在初始存储库创建时使用,堆栈更新时会忽略这些属性。您不能使用这些属性向仓库进行额外的提交,也不能在初始提交后更改默认分支的名称。
您还可以创建创建相关资源的模板,例如通知规则对于存储库,Amazon CodeBuild构建项目、Amazon CodeDeploy应用程序, 和Amazon CodePipeline管道.
模板示例
以下示例创建一个名为的 CodeCommit 存储库MyDemoRepo
. 新创建的存储库使用存储在名为 MySourceCodeBucket
的 Amazon S3 存储桶中的代码填充,并放置在名为 development
的分支中,该分支是此存储库的默认分支。
可以使用 ARN 或 Amazon Web Services 账户中存储桶的名称来指定包含将提交到新存储库的内容所在的 ZIP 文件的 Amazon S3 存储桶的名称。Amazon S3 对象密钥的定义在Amazon S3 开发人员指南中).
JSON:
{ "MyRepo": { "Type": "AWS::CodeCommit::Repository", "Properties": { "RepositoryName": "
MyDemoRepo
", "RepositoryDescription": "This is a repository for my project with code from MySourceCodeBucket.
", "Code": { "BranchName": "development
", "S3": { "Bucket": "MySourceCodeBucket
", "Key": "MyKey
", "ObjectVersion": "1
" } } } } }
YAML:
MyRepo: Type: AWS::CodeCommit::Repository Properties: RepositoryName:
MyDemoRepo
RepositoryDescription:This is a repository for my project with code from MySourceCodeBucket.
Code: BranchName:development
S3: Bucket:MySourceCodeBucket
, Key:MyKey
, ObjectVersion:1
有关更多示例,请参阅AWS::CodeCommit::Repository.
Amazon CloudFormation、CodeCommit 和Amazon Cloud Development Kit (Amazon CDK)
使用Amazon CDK使用Amazon CloudFormation创建中的功能。了解的方式Amazon CloudFormation使用 CodeCommit 资源的模板可帮助您创建和管理Amazon CDK代码。有关的更多信息Amazon CDK,请参阅Amazon Cloud Development Kit (Amazon CDK)开发人员指南和Amazon CDKAPI 参考。
以下Amazon CDKTypescript 示例创建一个名为的 CodeCommit 存储库MyDemoRepo
. 新创建的存储库使用存储在名为 MySourceCodeBucket
的 Amazon S3 存储桶中的代码填充,并放置在名为 development
的分支中,该分支是此存储库的默认分支。
import * as cdk from '@aws-cdk/core'; import codecommit = require('@aws-cdk/aws-codecommit'); export class CdkCodecommitStack extends cdk.Stack { constructor(scope: cdk.Construct, id: string, props?: cdk.StackProps) { super(scope, id, props); // The code creates a CodeCommit repository with a default branch name development new codecommit.CfnRepository(this, 'MyRepoResource', { repositoryName: "MyDemoRepo", code: { "branchName": "development", "s3": { "bucket": "MySourceCodeBucket", "key": "MyKey" } }, } ); } }
了解有关 Amazon CloudFormation 的更多信息
要了解有关 Amazon CloudFormation 的更多信息,请参阅以下资源: