AWS CodeCommit non è più disponibile per i nuovi clienti. I clienti esistenti di AWS CodeCommit possono continuare a utilizzare il servizio normalmente. Scopri di più»
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 risorse CodeCommit con AWS CloudFormation
AWS CodeCommit è integrato con AWS CloudFormation, un servizio che ti consente di modellare e configurare le tue risorse AWS in modo da dedicare meno tempo alla creazione e alla gestione delle risorse e dell'infrastruttura. Puoi creare un modello che descrive tutte leAWS risorse desiderate (come i repository) e si occuperà delAWS CloudFormation provisioning e della configurazione di queste risorse per tuo conto.
Quando usi AWS CloudFormation, puoi riutilizzare il modello per configurare le risorse CodeCommit in modo coerente e continuo. Basta descrivere le risorse una volta sola, dopodiché si può effettuare il provisioning di tali risorse quante volte si vuole in più Account AWS e regioni.
CodeCommit e modelli AWS CloudFormation
Per eseguire l'assegnazione e la configurazione delle risorse per CodeCommit e i servizi correlati, devi conoscere i modelli AWS CloudFormation. I modelli sono file di testo formattati in JSON o YAML. Questi modelli descrivono le risorse di cui intendi effettuare il provisioning negli stack AWS CloudFormation. Se non hai familiarità con JSON o YAML, puoi usare AWS CloudFormation Designer per iniziare a utilizzare i modelli AWS CloudFormation. Per ulteriori informazioni, consulta Che cos'è AWS CloudFormation Designer? nella Guida per l'utente di AWS CloudFormation.
CodeCommitsupporta la creazione di repository inAWS CloudFormation A differenza della creazione di repository dalla console o dalla riga di comando, è possibile utilizzarliAWS 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 unCodeCommit repository utilizzandoAWS CloudFormation, hai la possibilità di salvare il 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 BranchNameproprietà 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 in 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 predefinitoCodeCommit da master a main. Questa modifica del nome influisce sul comportamento predefinito diCodeCommit quando si crea il commit iniziale per i repository utilizzando laCodeCommit console, leCodeCommit API,AWS gli SDK e ilAWS CLI. I repository creati conAWS CloudFormation oAWS 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 su repository o ramo 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 quei client Git. Per ulteriori informazioni, vedi Lavorare con i rami, Creare un commit e Modificare le impostazioni dei rami.
Puoi anche creare modelli che creano risorse correlate, come regole di notifica per repository, progetti diAWS CodeBuild creazione, AWS CodeDeployapplicazioni e AWS CodePipelinepipeline.
Esempi di modello di modello
Gli esempi seguenti creano unCodeCommit repository denominato MyDemoRepo
. Il repository appena creato viene popolato con il codice memorizzato in un bucket Amazon S3 denominato MySourceCodeBucket
e inserito in un ramo denominato sviluppo
, che è il ramo predefinito per il repository.
Nota
Il nome del bucket Amazon S3 contenente il file ZIP con i contenuti di cui verrà eseguito il commit nel nuovo repository. La chiave Amazon S3 è definita nella Guida per sviluppatori di 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
Per ulteriori esempi, consulta AWS::CodeCommit::Repository.
AWS CloudFormationCodeCommit, eAWS Cloud Development Kit (AWS CDK)
Archivi creati utilizzando laAWS CloudFormation funzionalità diAWS CDK utilizzo nella loro creazione. Comprendere comeAWS CloudFormation i modelli interagiscono conCodeCommit le risorse può aiutarti a creare e gestire ilAWS CDK codice. Per ulteriori informazioni suAWS CDK, consulta la Guida per gliAWS Cloud Development Kit (AWS CDK) sviluppatori e il riferimentoAWS CDK API.
Il seguente esempioAWS CDK Typescript crea unCodeCommit repository denominato MyDemoRepo
. Il repository appena creato viene popolato con il codice memorizzato in un bucket Amazon S3 denominato MySourceCodeBucket
e inserito in un ramo denominato sviluppo
, 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" } }, } ); } }
Ulteriori informazioni su AWS CloudFormation
Per ulteriori informazioni su AWS CloudFormation, consulta le seguenti risorse: