Creazione di CodeCommit risorse con AWS CloudFormation - AWS CodeCommit

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Creazione di CodeCommit risorse con AWS CloudFormation

AWS CodeCommit è integrato con AWS CloudFormation, un servizio che consente di modellare e configurare le AWS risorse in modo da dedicare meno tempo alla creazione e alla gestione delle risorse e dell'infrastruttura. Crei un modello che descrive tutte le AWS risorse che desideri (ad esempio gli archivi) e fornisce e CloudFormation configura tali risorse per te.

Quando lo utilizzi CloudFormation, puoi riutilizzare il modello per configurare le CodeCommit risorse in modo coerente e ripetuto. Descrivi le tue risorse una sola volta, quindi fornisci le stesse risorse più e più volte in più Account AWS aree geografiche.

CodeCommit e CloudFormation modelli

Per fornire e configurare le risorse CodeCommit e i servizi correlati, è necessario conoscere CloudFormation i modelli. I modelli sono file di testo formattati in JSON o YAML. Questi modelli descrivono le risorse che desideri fornire negli CloudFormation stack. Se non conosci JSON o YAML, puoi usare CloudFormation Designer per iniziare a usare i modelli. CloudFormation Per ulteriori informazioni, consulta Che cos’è CloudFormation Designer? nella Guida per l’utente di AWS CloudFormation .

CodeCommit supporta la creazione di repository in CloudFormation A differenza della creazione di repository dalla console o dalla riga di comando, è possibile utilizzare CloudFormation per creare repository e inviare automaticamente il codice nel repository appena creato da un file.zip specificato in un bucket Amazon S3. Per ulteriori informazioni, inclusi esempi di modelli JSON e YAML per i repository, consulta. AWS::CodeCommit::Repository

Quando crei un CodeCommit repository utilizzando CloudFormation, hai la possibilità di eseguire il commit del codice in quel repository come parte del processo di creazione, purché l'archivio sia inferiore a 20 MB, configurando le proprietà in AWS:CodeCommit: :Repository Code. Puoi specificare il bucket Amazon S3 in cui è archiviato il codice e, facoltativamente, utilizzare la BranchName proprietà per specificare il nome del ramo predefinito che verrà creato nel commit iniziale di quel codice. Queste proprietà vengono utilizzate solo nella creazione iniziale del repository e vengono ignorate negli aggiornamenti dello stack. Non è possibile utilizzare queste proprietà per effettuare ulteriori commit su un repository o per modificare il nome del ramo predefinito dopo il commit iniziale.

Nota

Il 19 gennaio 2021, AWS ha cambiato il nome del ramo predefinito CodeCommit da master a main. Questa modifica del nome influisce sul comportamento predefinito di CodeCommit quando si crea il commit iniziale per i repository utilizzando la CodeCommit console CodeCommit APIs, il AWS SDKs, e il AWS CLI. I repository creati con CloudFormation o AWS CDK con un commit iniziale di codice come parte della creazione si allineano a questa modifica a partire dal 4 marzo 2021. Questa modifica non influisce sugli archivi o sulle filiali esistenti. I clienti che utilizzano client Git locali per creare i propri commit iniziali hanno un nome di ramo predefinito che segue la configurazione di tali client Git. Per ulteriori informazioni, consulta Lavorare con le filiali, Creare un commit e Modificare le impostazioni delle filiali.

Puoi anche creare modelli per creare risorse correlate, come regole di notifica per gli archivi, AWS CodeBuild creare progetti, AWS CodeDeploy applicazioni e AWS CodePipeline pipeline.

Esempi di modello

Gli esempi seguenti creano un CodeCommit repository denominato. MyDemoRepo Il repository appena creato è popolato con codice memorizzato in un bucket Amazon S3 MySourceCodeBucket denominato e inserito in un ramo development denominato, che è il ramo predefinito per il repository.

Nota

Il nome del bucket Amazon S3 che contiene il file ZIP con il contenuto che verrà salvato nel nuovo repository può essere specificato utilizzando un ARN o il nome del bucket nell'account Amazon Web Services. La chiave oggetto Amazon S3 è definita nella Amazon S3 Developer Guide.

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

Per ulteriori esempi, consulta AWS::CodeCommit::Repository.

CloudFormation, CodeCommit, e AWS Cloud Development Kit (AWS CDK)

Repository creati utilizzando la CloudFormation funzionalità AWS CDK use durante la loro creazione. Capire come CloudFormation i modelli interagiscono con CodeCommit le risorse può aiutarti a creare e gestire il AWS CDK codice. Per ulteriori informazioni su AWS CDK, consulta la Guida per gli AWS Cloud Development Kit (AWS CDK) sviluppatori e l'AWS CDK API Reference.

Il seguente esempio di AWS CDK Typescript crea un CodeCommit repository denominato. MyDemoRepo Il repository appena creato è popolato con codice memorizzato in un bucket Amazon S3 MySourceCodeBucket denominato e inserito in un ramo development denominato, che è il ramo predefinito per il repository.

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

Scopri di più su CloudFormation

Per ulteriori informazioni CloudFormation, consulta le seguenti risorse: