Esercizio - Creare un ramo ed eseguirne il merge
Tornando all'azienda di giocattoli, gli sviluppatori del sito Web prevedono di aggiungere un nuovo database Azure Cosmos DB in cui archiviare i dati sui giocattoli venduti dall'azienda. Gli sviluppatori hanno chiesto di aggiornare il codice Bicep per aggiungere le risorse di Cosmos DB, ma non sono ancora pronti per apportare le variazioni, che dovranno solo essere preparate in attesa che completino le modifiche.
In questo esercizio si aggiungerà un nuovo modulo di Bicep in un ramo del repository. Durante il processo, si eseguiranno queste operazioni:
- Creare e passare a un ramo.
- Modificare il codice Bicep nel ramo.
- Tornare al ramo main.
- Eseguire il merge del ramo in main.
Creare ed eseguire il checkout di un ramo nel repository
Usando il terminale di Visual Studio Code, eseguire il comando seguente per creare ed eseguire il checkout di un nuovo ramo:
git checkout -b add-database
Eseguire il comando seguente per controllare lo stato del repository:
git status
L'output è simile al seguente esempio:
On branch add-database nothing to commit, working tree clean
La prima riga dell'output indica che Git si trova nel ramo add-database.
In Visual Studio Code esaminare la barra di stato nella parte inferiore sinistra della finestra. Si noti che il nome è cambiato in add-database.
Come per gli altri comandi di Git eseguiti, Visual Studio Code rimane aggiornato con le modifiche apportate nel repository Git, anche quando si esegue il checkout di un ramo.
Aggiornare un file nel ramo
Dopo aver creato un ramo, si aggiungerà un nuovo modulo di Bicep per l'account Azure Cosmos DB del sito Web.
Nella sottocartella moduli all'interno della cartella distribuzione creare un nuovo file denominato cosmos-db.bicep.
Aprire e salvare il file cosmos-db.bicep vuoto in modo che Visual Studio Code carichi gli strumenti di Bicep.
Copiare il codice seguente in cosmos-db.bicep:
@description('The Azure region into which the resources should be deployed.') param location string @description('The type of environment. This must be nonprod or prod.') @allowed([ 'nonprod' 'prod' ]) param environmentType string @description('The name of the Cosmos DB account. This name must be globally unique.') param cosmosDBAccountName string var cosmosDBDatabaseName = 'ProductCatalog' var cosmosDBDatabaseThroughput = (environmentType == 'prod') ? 1000 : 400 var cosmosDBContainerName = 'Products' var cosmosDBContainerPartitionKey = '/productid' resource cosmosDBAccount 'Microsoft.DocumentDB/databaseAccounts@2024-05-15' = { name: cosmosDBAccountName location: location properties: { databaseAccountOfferType: 'Standard' locations: [ { locationName: location } ] } } resource cosmosDBDatabase 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2024-05-15' = { parent: cosmosDBAccount name: cosmosDBDatabaseName properties: { resource: { id: cosmosDBDatabaseName } options: { throughput: cosmosDBDatabaseThroughput } } resource container 'containers' = { name: cosmosDBContainerName properties: { resource: { id: cosmosDBContainerName partitionKey: { kind: 'Hash' paths: [ cosmosDBContainerPartitionKey ] } } options: {} } } }
Salvare e chiudere il file cosmos-db.bicep.
Aprire il file main.bicep.
Aggiungere le definizioni di parametri seguenti sotto la definizione del parametro
appServiceAppName
:@description('The name of the Cosmos DB account. This name must be globally unique.') param cosmosDBAccountName string = 'toyweb-${uniqueString(resourceGroup().id)}'
Aggiungere la definizione di modulo seguente sotto la definizione del modulo
appService
:module cosmosDB 'modules/cosmos-db.bicep' = { name: 'cosmos-db' params: { location: location environmentType: environmentType cosmosDBAccountName: cosmosDBAccountName } }
Salvare e chiudere il file main.bicep.
Esaminare le differenze ed eseguire il commit delle modifiche
Dopo aver esaminato le differenze tra i file, preparare il commit ed eseguire il commit delle modifiche. È possibile scegliere se usare l'interfaccia della riga di comando di Git o Visual Studio Code per eseguire il commit dei file. Questo esempio usa l'interfaccia della riga di comando di Git.
Usando la funzionalità Controllo del codice sorgente di Visual Studio Code, esaminare le differenze per entrambi i file.
Le righe modificate sono evidenziate nel file main.bicep.
Esaminare i file pronti per il commit.
git status
L'output avrà un aspetto simile all'esempio seguente.
On branch add-database Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git restore <file>..." to discard changes in working directory) modified: deploy/main.bicep Untracked files: (use "git add <file>..." to include in what will be committed) deploy/modules/cosmos-db.bicep no changes added to commit (use "git add" and/or "git commit -a")
Preparare le modifiche per entrambi i file.
git add .
Il punto (
.
) eseguire un'installazione di appoggio di tutti i file modificati.Esegui il commit delle modifiche.
git commit --message "Add Cosmos DB module"
L'output avrà un aspetto simile all'esempio seguente.
[add-database 513f700] Add Cosmos DB module 2 files changed, 71 insertions(+) create mode 100644 deploy/modules/cosmos-db.bicep
Cambiare ramo
Dopo aver apportato le modifiche nel ramo, è possibile verificare che siano visibili solo nel ramo add-database.
Eseguire il checkout del ramo main. È possibile usare uno degli approcci seguenti:
Nel finestra del terminale di Visual Studio Code immettere il comando seguente:
git checkout main
Sulla barra di stato di Visual Studio Code, nella parte inferiore della finestra selezionare il nome del ramo che attualmente visualizza add-database.
Viene visualizzato un elenco di rami. Selezionare il ramo main.
Nel riquadro Esplora risorse di Visual Studio Code aprire il file main.bicep.
Si noti che non è inclusa nessuna delle modifiche apportate in Azure Cosmos DB. Il modulo di database non è quindi presente nel ramo main. Nessun problema: le modifiche sono archiviate nel ramo del database aggiuntivo.
Eseguire il merge del ramo
Il team del sito Web ha testato le modifiche ed è ora pronto ad avviare il sito Web aggiornato con il database Azure Cosmos DB incluso. Si eseguirà il merge del ramo add-database nel ramo main.
Verificare di trovarsi nel ramo main eseguendo
git status
e controllando il nome del ramo sulla barra di stato.Nel terminale di Visual Studio Code immettere il comando seguente per eseguire il merge delle modifiche dal ramo add-database al ramo main:
git merge add-database
Nel riquadro Esplora risorse di Visual Studio Code aprire il file main.bicep.
Si noti che il modulo di database viene ora visualizzato nel file. I file Bicep validi sono stati aggiornati nel ramo main per includere le modifiche apportate nel ramo add-database.
Nel terminale di Visual Studio Code immettere il comando seguente per eliminare il ramo add-database, perché non è più necessario:
git branch -d add-database