AWS CodeCommit は、新規顧客には利用できなくなりました。 AWS CodeCommit の既存のお客様は、通常どおりサービスを引き続き使用できます。詳細はこちら
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS CodeCommit は と統合されています。これは AWS CloudFormation、 AWS リソースとインフラストラクチャの作成と管理に費やす時間を短縮できるように、リソースのモデル化とセットアップに役立つサービスです。必要なすべての AWS リソース (リポジトリなど) を記述するテンプレートを作成し、それらのリソースを AWS CloudFormation プロビジョニングして設定します。
を使用すると AWS CloudFormation、テンプレートを再利用して CodeCommit リソースを一貫して繰り返しセットアップできます。リソースを 1 回記述し、同じリソースを複数の AWS アカウント およびリージョンで何度もプロビジョニングします。
CodeCommit と AWS CloudFormation テンプレート
CodeCommit および関連サービスのリソースをプロビジョニングして設定するには、AWS CloudFormation テンプレートについて理解しておく必要があります。テンプレートは、JSON や YAML でフォーマットされたテキストファイルです。これらのテンプレートは、 AWS CloudFormation スタックでプロビジョニングするリソースを記述します。JSON または YAML に慣れていない場合は、 AWS CloudFormation デザイナー を使用して AWS CloudFormation テンプレートの使用を開始できます。詳細については、「AWS CloudFormation ユーザーガイド」の「AWS CloudFormation Designer とは」を参照してください。
CodeCommit は、 でのリポジトリの作成をサポートしています。コンソールまたはコマンドラインからリポジトリを作成する AWS CloudFormation 場合とは異なり、 AWS CloudFormation を使用してリポジトリを作成し、Amazon S3 バケット内の指定された .zip ファイルから新しく作成されたリポジトリにコードを自動的にコミットできます。リポジトリの JSON および YAML テンプレートの例を含む詳細については、AWS::CodeCommit::Repository を参照してください。
を使用して CodeCommit リポジトリを作成する場合 AWS CloudFormation、AWS:CodeCommit::CodeCommit Repository Code でプロパティを設定することで、アーカイブが 20 MB 未満である限り、作成プロセスの一環としてそのリポジトリにコードをコミットするオプションがあります。コードが格納される Amazon S3 バケットを指定し、任意で BranchName プロパティを使用して、そのコードの初期コミットで作成されるデフォルトのブランチの名前を指定できます。これらのプロパティは最初のリポジトリ作成でのみ使用され、スタックの更新時には無視されます。これらのプロパティを使用して、リポジトリに追加のコミットを行ったり、最初のコミットが行われた後にデフォルトブランチの名前を変更したりすることはできません。
注記
2021 年 1 月 19 日に、 は CodeCommit のデフォルトブランチの名前を master から main AWS に変更しました。この名前の変更は、CodeCommit コンソール、CodeCommit APIs、 AWS SDKs、および を使用してリポジトリの初期コミットを作成するときの CodeCommit のデフォルトの動作に影響します AWS CLI。 AWS CloudFormation または を使用して作成されたリポジトリ AWS CDK で、作成の一環としてコードの初期コミットが 2021 年 3 月 4 日以降の変更と一致します。この変更は、既存のリポジトリまたはブランチには影響しません。ローカル Git クライアントを使用して初期コミットを作成するお客様は、これらの Git クライアントの設定に続いてデフォルトのブランチ名を持つことになります。詳細については、ブランチを操作する、コミットを作成する、およびブランチ設定を変更するを参照してください。
また、関連リソース (リポジトリの 通知ルール、AWS CodeBuild ビルドプロジェクト、AWS CodeDeploy アプリケーsウォン、AWS CodePipeline パイプラインなど) を作成するためのテンプレートを作成することもできます。
テンプレートの例
以下の例では、MyDemoRepo
という名前の CodeCommit リポジトリを作成します。新しく作成されたリポジトリには、MySourceCodeBucket
という名前の Amazon S3 バケットに保存されたコードが入力され、そのリポジトリは、development
という名前のブランチ (リポジトリのデフォルトのブランチ) に配置されます。
注記
新しいリポジトリにコミットされるコンテンツが含まれた ZIP ファイルを含む Amazon S3 バケットの名前は、ARN またはアマゾン ウェブ サービスアカウント内のバケットの名前を使用して指定できます。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 を参照してください。
AWS CloudFormation、CodeCommit、および AWS Cloud Development Kit (AWS CDK)
を使用して作成されたリポジトリは、作成時に AWS CloudFormation 機能 AWS CDK を使用します。 AWS CloudFormation テンプレートが CodeCommit リソースとどのように連携するかを理解することは、 AWS CDK コードの作成と管理に役立ちます。の詳細については AWS CDK、「 AWS Cloud Development Kit (AWS CDK) デベロッパーガイド」とAWS CDK 「 API リファレンス」を参照してください。
次の AWS CDK Typescript の例では、MyDemoRepo
という名前の CodeCommit リポジトリを作成します。新しく作成されたリポジトリには、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"
}
},
}
);
}
}
の詳細 AWS CloudFormation
詳細については AWS CloudFormation、次のリソースを参照してください。