Oefening: een vertakking maken en samenvoegen
Terug bij het speelgoedbedrijf willen uw websiteontwikkelaars een nieuwe Azure Cosmos DB-database toevoegen om gegevens op te slaan over het speelgoed dat het bedrijf verkoopt. De ontwikkelaars hebben u gevraagd de Bicep-code bij te werken om de Cosmos DB-resources toe te voegen. Ze zijn echter nog niet klaar om de wijzigingen aan te brengen. Ze willen alleen dat u de wijzigingen kunt voorbereiden wanneer ze klaar zijn met de wijzigingen.
In deze oefening voegt u een nieuwe Bicep-module toe aan een vertakking van uw opslagplaats. Tijdens het proces gaat u het volgende doen:
- Maak een vertakking en schakel ernaar over.
- Wijzig uw Bicep-code in de vertakking.
- Ga terug naar uw hoofdbranch.
- Voeg uw vertakking samen naar het hoofd.
Een vertakking in uw opslagplaats maken en uitchecken
Voer met behulp van de Visual Studio Code-terminal de volgende opdracht uit om een nieuwe vertakking te maken en te bekijken:
git checkout -b add-database
Voer de volgende opdracht uit om de status van de opslagplaats te controleren:
git status
De uitvoer ziet er ongeveer als volgt uit:
On branch add-database nothing to commit, working tree clean
De eerste regel van de uitvoer geeft aan dat Git zich in de vertakking van de add-database bevindt.
Bekijk in Visual Studio Code de statusbalk onderaan, links in het venster. U ziet dat de naam van de vertakking is gewijzigd in een add-database.
Net als bij de andere Git-opdrachten die u hebt uitgevoerd, blijft Visual Studio Code up-to-date met de wijzigingen in uw Git-opslagplaats, ook wanneer u een vertakking uitcheckt.
Een bestand in uw vertakking bijwerken
Nu u een vertakking hebt gemaakt, voegt u een nieuwe Bicep-module toe voor het Azure Cosmos DB-account van uw website.
Maak in de submap modules van de implementatiemap een nieuw bestand met de naam cosmos-db.bicep.
Open het lege cosmos-db.bicep-bestand en sla het op, zodat Visual Studio Code de Bicep-hulpprogramma's laadt.
Kopieer de volgende code naar 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-11-15' = { name: cosmosDBAccountName location: location properties: { databaseAccountOfferType: 'Standard' locations: [ { locationName: location } ] } } resource cosmosDBDatabase 'Microsoft.DocumentDB/databaseAccounts/sqlDatabases@2024-11-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: {} } } }
Sla het cosmos-db.bicep-bestand op en sluit het.
Open het bestand main.bicep .
Voeg de volgende parameterdefinities toe onder de
appServiceAppName
parameterdefinitie:@description('The name of the Cosmos DB account. This name must be globally unique.') param cosmosDBAccountName string = 'toyweb-${uniqueString(resourceGroup().id)}'
Voeg de volgende moduledefinitie toe onder de
appService
moduledefinitie:module cosmosDB 'modules/cosmos-db.bicep' = { name: 'cosmos-db' params: { location: location environmentType: environmentType cosmosDBAccountName: cosmosDBAccountName } }
Sla het bestand main.bicep op en sluit het.
Bekijk de verschillen en voer de wijzigingen door
Nadat u de bestandsverschillen hebt bekeken, moet u de wijzigingen faseren en doorvoeren. U kunt kiezen of u de Git CLI of Visual Studio Code wilt gebruiken om de bestanden door te voeren. In dit voorbeeld wordt de Git CLI gebruikt.
Bekijk de verschillen voor beide bestanden met broncodebeheer in Visual Studio Code.
Let op de gewijzigde regels die zijn gemarkeerd in het bestand main.bicep .
Controleer de bestanden die klaar zijn om door te voeren.
git status
De uitvoer ziet eruit als in het volgende voorbeeld.
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")
Faseer de wijzigingen voor beide bestanden.
git add .
Met de punt (
.
) worden alle bestanden gefaseerd die zijn gewijzigd.Voer de wijzigingen door.
git commit --message "Add Cosmos DB module"
De uitvoer ziet eruit als in het volgende voorbeeld.
[add-database 513f700] Add Cosmos DB module 2 files changed, 71 insertions(+) create mode 100644 deploy/modules/cosmos-db.bicep
Schakelen tussen vertakkingen
Nu u de wijzigingen in uw vertakking hebt aangebracht, kunt u controleren of de wijzigingen alleen zichtbaar zijn in de vertakking van de invoegtoepassing .
Bekijk de hoofdbranch . U kunt een van de volgende methoden kiezen:
Voer in het terminalvenster van Visual Studio Code de volgende opdracht in:
git checkout main
Selecteer in de statusbalk van Visual Studio Code onder aan het venster de naam van de vertakking die momenteel een add-database weergeeft.
Er wordt een lijst met vertakkingen weergegeven. Selecteer de hoofdbranch .
Open in het deelvenster Visual Studio Code Explorer het bestand main.bicep .
U ziet dat geen van de Azure Cosmos DB-wijzigingen die u hebt aangebracht, zijn opgenomen. Nu u bent overgeschakeld naar de hoofdbranch , is de databasemodule er niet. Maak u geen zorgen, ze worden veilig opgeslagen in uw invoegtoepassingsvertakking .
Uw vertakking samenvoegen
Uw websiteteam heeft de wijzigingen getest en is nu klaar om de bijgewerkte website te starten met de Azure Cosmos DB-database. U voegt de invoegtoepassingsvertakking samen in de hoofdvertakking .
Controleer of u zich in de hoofdvertakking bevindt door deze uit te voeren
git status
en door de naam van de vertakking in de statusbalk te bekijken.Voer in de Visual Studio Code-terminal de volgende opdracht in om de wijzigingen van de invoegtoepassingsdatabasevertakking samen te voegen naar de hoofdvertakking :
git merge add-database
Open in het deelvenster Visual Studio Code Explorer het bestand main.bicep .
U ziet dat de databasemodule nu wordt weergegeven in het bestand. U hebt nu uw bekende goede Bicep-bestanden in uw hoofdvertakking bijgewerkt om de wijzigingen van de vertakking van uw add-database op te nemen.
Voer in de Visual Studio Code-terminal de volgende opdracht in om de vertakking van de invoegtoepassing te verwijderen omdat u deze niet meer nodig hebt:
git branch -d add-database