Oefening: een vertakking maken en samenvoegen

Voltooid

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

  1. 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
    
  2. 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.

  3. 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.

  1. Maak in de submap modules van de implementatiemap een nieuw bestand met de naam cosmos-db.bicep.

  2. Open het lege cosmos-db.bicep-bestand en sla het op, zodat Visual Studio Code de Bicep-hulpprogramma's laadt.

  3. 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: {}
        }
      }
    }
    
  4. Sla het cosmos-db.bicep-bestand op en sluit het.

  5. Open het bestand main.bicep .

  6. 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)}'
    
  7. 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
      }
    }
    
  8. 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.

  1. 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 .

  2. 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")
    
  3. Faseer de wijzigingen voor beide bestanden.

    git add .
    

    Met de punt (.) worden alle bestanden gefaseerd die zijn gewijzigd.

  4. 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 .

  1. 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 .

  2. 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 .

  1. 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.

  2. 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
    
  3. 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.

  4. 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