Création de CodeCommit ressources avec AWS CloudFormation - AWS CodeCommit

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Création de CodeCommit ressources avec AWS CloudFormation

AWS CodeCommit est intégré à AWS CloudFormation un service qui vous aide à modéliser et à configurer vos AWS ressources afin que vous puissiez passer moins de temps à créer et à gérer vos ressources et votre infrastructure. Vous créez un modèle qui décrit toutes les AWS ressources que vous souhaitez (telles que les référentiels), et qui CloudFormation fournit et configure ces ressources pour vous.

Lorsque vous l'utilisez CloudFormation, vous pouvez réutiliser votre modèle pour configurer vos CodeCommit ressources de manière cohérente et répétée. Décrivez vos ressources une seule fois, puis fournissez les mêmes ressources encore et encore dans plusieurs Comptes AWS régions.

CodeCommit et CloudFormation modèles

Pour fournir et configurer des ressources CodeCommit et des services associés, vous devez comprendre les CloudFormation modèles. Les modèles sont des fichiers texte formatés en JSON ou YAML. Ces modèles décrivent les ressources que vous souhaitez mettre à disposition dans vos CloudFormation piles. Si vous n'êtes pas familiarisé avec JSON ou YAML, vous pouvez utiliser CloudFormation Designer pour vous aider à démarrer avec les CloudFormation modèles. Pour plus d’informations, consultez Qu’est-ce que CloudFormation Designer dans le Guide de l’utilisateur AWS CloudFormation .

CodeCommit prend en charge la création de référentiels dans CloudFormation Contrairement à la création de référentiels depuis la console ou la ligne de commande, vous pouvez les utiliser CloudFormation pour créer des référentiels et valider automatiquement du code dans le référentiel nouvellement créé à partir d'un fichier .zip spécifié dans un compartiment Amazon S3. Pour plus d'informations, notamment des exemples de modèles JSON et YAML pour les référentiels, consultez. AWS::CodeCommit::Repository

Lorsque vous créez un CodeCommit référentiel à l'aide de CloudFormation, vous avez la possibilité de valider du code dans ce référentiel dans le cadre du processus de création, à condition que la taille de l'archive soit inférieure à 20 Mo, en configurant les propriétés dans AWS CodeCommit : :Repository Code. Vous pouvez spécifier le compartiment Amazon S3 dans lequel le code est stocké et éventuellement utiliser la BranchName propriété pour spécifier le nom de la branche par défaut qui sera créée lors de la validation initiale de ce code. Ces propriétés ne sont utilisées que lors de la création initiale du référentiel et sont ignorées lors des mises à jour de la pile. Vous ne pouvez pas utiliser ces propriétés pour effectuer des validations supplémentaires dans un référentiel ou pour modifier le nom de la branche par défaut une fois la validation initiale effectuée.

Note

Le 19 janvier 2021, le nom de la branche par défaut est AWS passé CodeCommit de master à main. Ce changement de nom affecte le comportement par défaut CodeCommit lors de la création du commit initial pour les référentiels à l'aide de la CodeCommit console CodeCommit APIs, du AWS SDKs, et du AWS CLI. Les référentiels créés avec CloudFormation ou AWS CDK avec une validation initiale de code dans le cadre de la création s'alignent sur cette modification à compter du 4 mars 2021. Cette modification n'affecte pas les référentiels ou les branches existants. Les clients qui utilisent des clients Git locaux pour créer leurs validations initiales ont un nom de branche par défaut qui suit la configuration de ces clients Git. Pour plus d'informations, consultez les sections Utilisation des branches, Création d'un commit et Modification des paramètres des branches.

Vous pouvez également créer des modèles qui créent des ressources connexes, telles que des règles de notification pour les référentiels, les projets de AWS CodeBuild création, AWS CodeDeploy les applications et les AWS CodePipeline pipelines.

Exemples de modèles

Les exemples suivants créent un CodeCommit référentiel nomméMyDemoRepo. Le référentiel nouvellement créé est rempli avec du code stocké dans un compartiment Amazon S3 nommé MySourceCodeBucket et placé dans une branche nomméedevelopment, qui est la branche par défaut du référentiel.

Note

Le nom du compartiment Amazon S3 qui contient le fichier ZIP dont le contenu sera enregistré dans le nouveau référentiel peut être spécifié à l'aide d'un ARN ou du nom du compartiment dans le compte Amazon Web Services. La clé d'objet Amazon S3 est telle que définie dans le manuel du développeur 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

Pour obtenir plus d’exemples, consultez AWS::CodeCommit::Repository.

CloudFormation CodeCommit, et le AWS Cloud Development Kit (AWS CDK)

Référentiels créés à l'aide de la CloudFormation fonctionnalité AWS CDK d'utilisation lors de leur création. Comprendre comment les CloudFormation modèles fonctionnent avec CodeCommit les ressources peut vous aider à créer et à gérer votre AWS CDK code. Pour plus d'informations à ce sujet AWS CDK, consultez le guide du AWS Cloud Development Kit (AWS CDK) développeur et le guide de référence des AWS CDK API.

L'exemple AWS CDK Typescript suivant crée un CodeCommit dépôt nommé. MyDemoRepo Le référentiel nouvellement créé est rempli avec du code stocké dans un compartiment Amazon S3 nommé MySourceCodeBucket et placé dans une branche nomméedevelopment, qui est la branche par défaut du référentiel.

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" } }, } ); } }

En savoir plus sur CloudFormation

Pour en savoir plus CloudFormation, consultez les ressources suivantes :