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à.
Crea una configurazione di sincronizzazione dei modelli
Scopri come creare una configurazione di sincronizzazione dei modelli con AWS Proton.
Crea i prerequisiti di configurazione per la sincronizzazione dei modelli:
-
Hai collegato un repository con. AWS Proton
-
Un pacchetto di modelli si trova nel tuo repository.
Il link al repository è composto da quanto segue:
-
Una CodeConnections connessione che AWS Proton autorizza l'accesso al repository e la sottoscrizione alle relative notifiche.
-
Un ruolo collegato al servizio. Quando colleghi il tuo repository, il ruolo collegato al servizio viene creato automaticamente.
Prima di creare la prima configurazione di sincronizzazione dei modelli, inserisci un pacchetto di modelli nel tuo repository, come mostrato nel seguente layout di directory.
/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/
Dopo aver creato la prima configurazione di sincronizzazione dei modelli, le nuove versioni dei modelli vengono create automaticamente quando invii un commit che aggiunge un pacchetto di modelli aggiornato in una nuova versione (ad esempio, sotto). /my-env-template/v2/
/templates/ # subdirectory (optional) /templates/my-env-template/ # template name /templates/my-env-template/v1/ # template version /templates/my-env-template/v1/infrastructure/ # template bundle /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/
Puoi includere nuove versioni di pacchetti di modelli per uno o più modelli configurati per la sincronizzazione in un unico commit. AWS Proton crea una nuova versione del modello per ogni nuova versione del pacchetto di modelli inclusa nel commit.
Dopo aver creato la configurazione di sincronizzazione dei modelli, puoi comunque creare manualmente nuove versioni del modello nella console o caricando i pacchetti di modelli AWS CLI da un bucket S3. La sincronizzazione dei modelli funziona solo in una direzione: dal tuo repository a. AWS Proton Le versioni dei modelli create manualmente non vengono sincronizzate.
Dopo aver impostato una configurazione di sincronizzazione dei modelli, AWS Proton ascolta le modifiche al tuo repository. Ogni volta che viene inserita una modifica, cerca una cartella con lo stesso nome del modello. Quindi cerca all'interno di quella directory tutte le directory che assomigliano alle versioni principali. AWS Proton registra il pacchetto di modelli nella versione principale del modello corrispondente. Le nuove versioni sono sempre disponibili nello DRAFT
stato. Puoi pubblicare le nuove versioni con la console o AWS CLI.
Ad esempio, supponiamo di avere un modello chiamato my-env-template
configurato per la sincronizzazione da my-repo/templates
on branch main
con il seguente layout.
/code /code/service.go README.md /templates/ /templates/my-env-template/ /templates/my-env-template/v1/ /templates/my-env-template/v1/infrastructure/ /templates/my-env-template/v1/schema/ /templates/my-env-template/v2/ /templates/my-env-template/v2/infrastructure/ /templates/my-env-template/v2/schema/
AWS Proton sincronizza il contenuto di /templates/my-env-template/v1/
to my-env-template:1
e il contenuto di /templates/my-env-template/v2/
to. my-env-template:2
Se non esistono già, crea queste versioni principali.
AWS Proton ha trovato la prima directory che corrisponde al nome del modello. È possibile limitare le AWS Proton ricerche nelle directory specificando un subdirectoryPath
quando si crea o si modifica una configurazione di sincronizzazione dei modelli. Ad esempio, è possibile specificare per. /production-templates/
subdirectoryPath
È possibile creare una configurazione di sincronizzazione dei modelli utilizzando la console o la CLI.
Modelli di servizio di sincronizzazione
Gli esempi precedenti mostrano come sincronizzare i modelli di ambiente. I modelli di servizio sono simili. Per sincronizzare i modelli di servizio, aggiungi un file aggiuntivo denominato .template-registration.yaml
a ciascuna directory delle versioni principali del pacchetto di modelli. Questo file contiene dettagli aggiuntivi AWS Proton necessari quando crea una versione del modello di servizio a seguito di un commit. Quando crei esplicitamente una versione di modello di servizio utilizzando la AWS Proton console o l'API, fornisci questi dettagli come input e questo file sostituisce questi input per la sincronizzazione del modello.
./templates/ # subdirectory (optional) /templates/my-svc-template/ # service template name /templates/my-svc-template/v1/ # service template version /templates/my-svc-template/v1/.template-registration.yaml # service template version properties /templates/my-svc-template/v1/instance_infrastructure/ # template bundle /templates/my-svc-template/v1/schema/
Il .template-registration.yaml
file contiene i seguenti dettagli:
-
Ambienti compatibili [richiesto]: gli ambienti basati su questi modelli di ambiente e le versioni principali sono compatibili con i servizi basati su questa versione del modello di servizio.
-
Fonti di componenti supportate [opzionale]: i componenti che utilizzano queste fonti sono compatibili con i servizi basati su questa versione del modello di servizio. Se non specificato, i componenti non possono essere collegati a questi servizi. Per ulteriori informazioni sui componenti, vedereAWS Proton componenti .
La sintassi YAML del file è la seguente:
compatible_environments: -
env-templ-name
:major-version
- ... supported_component_sources: - DIRECTLY_DEFINED
Specificate una o più combinazioni di modelli di ambiente/versioni principali. supported_component_sources
La specificazione è facoltativa e l'unico valore supportato èDIRECTLY_DEFINED
.
Esempio .template-registration.yaml
In questo esempio, la versione del modello di servizio è compatibile con le versioni principali 1 e 2 del modello di ambiente. my-env-template
È anche compatibile con le versioni principali 1 e 3 del modello di another-env-template
ambiente. Il file non specificasupported_component_sources
, quindi i componenti non possono essere allegati ai servizi basati su questa versione del modello di servizio.
compatible_environments: - my-env-template:1 - my-env-template:2 - another-env-template:1 - another-env-template:3
Nota
In precedenza, AWS Proton definiva un file diverso.compatible-envs
, per specificare ambienti compatibili. AWS Proton supporta ancora quel file e il suo formato per la compatibilità con le versioni precedenti. Non è più consigliabile utilizzarlo, perché non è estensibile e non può supportare funzionalità più recenti come i componenti.