Übung: Erstellen und Zusammenführen von Branches

Abgeschlossen

Zurück bei der Spielwarenfirma planen Ihre Websiteentwickler, eine neue Azure Cosmos DB-Datenbank hinzuzufügen, um Daten zu den Spielwaren zu speichern, die die Firma verkauft. Die Entwickler haben Sie gebeten, den Bicep-Code zu aktualisieren, um die Cosmos DB-Ressourcen hinzuzufügen. Sie sind jedoch noch nicht bereit, die Änderungen vorzunehmen. Sie möchten lediglich, dass Sie die Änderungen für den Zeitpunkt vorbereiten, an dem die Entwickler die Änderungen fertig stellen.

In dieser Übung fügen Sie ein neues Bicep-Modul in einem Branch Ihres Repositorys hinzu. In dem Prozess gehen Sie wie folgt vor:

  • Erstellen Sie einen Branch, und wechseln Sie zu ihm.
  • Ändern Sie Ihren Bicep-Code im.
  • Wechseln Sie zurück zu Ihrem Mainbranch.
  • Führen Sie Ihren Branch in main zusammen.

Erstellen und Auschecken eines Branchs in Ihrem Repository

  1. Führen Sie mithilfe des Visual Studio Code-Terminals den folgenden Befehl aus, um einen neuen Branch zu erstellen und auszuchecken:

    git checkout -b add-database
    
  2. Führen Sie den folgenden Befehl aus, um den Status des Repositorys zu überprüfen:

    git status
    

    Die Ausgabe sieht in etwa wie im folgenden Beispiel aus:

    On branch add-database
    nothing to commit, working tree clean
    

    Die erste Zeile der Ausgabe teilt Ihnen mit, dass Git sich im Branch add-database befindet.

  3. Sehen Sie sich in Visual Studio Code die Statusleiste am unteren Rand auf der linken Seite des Fensters an. Beachten Sie, dass sich der Branchname in add-database geändert hat.

    Wie bei den anderen Git-Befehlen, die Sie ausgeführt haben, bleibt Visual Studio Code mit den Änderungen in Ihrem Git-Repository auf dem neuesten Stand, auch wenn Sie einen Branch auschecken.

Aktualisieren einer Datei in Ihrem Branch

Nachdem Sie nun einen Branch erstellt haben, fügen Sie ein neues Bicep-Modul für das Azure Cosmos DB-Konto Ihrer Website hinzu.

  1. Erstellen Sie im Unterordner modules des Ordners deploy eine neue Datei namens cosmos-db.bicep.

  2. Öffnen und speichern Sie die leere Datei Cosmos-db.bicep, damit Visual Studio Code die Bicep-Tools lädt.

  3. Kopieren Sie den folgenden Code 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: {}
        }
      }
    }
    
  4. Speichern und schließen Sie die Datei cosmos-db.bicep.

  5. Öffnen Sie die Datei main.bicep.

  6. Fügen Sie die folgenden Parameterdefinitionen unterhalb der appServiceAppName-Parameterdefinition hinzu:

    @description('The name of the Cosmos DB account. This name must be globally unique.')
    param cosmosDBAccountName string = 'toyweb-${uniqueString(resourceGroup().id)}'
    
  7. Fügen Sie die folgende Moduldefinition unterhalb der appService-Moduldefinition hinzu:

    module cosmosDB 'modules/cosmos-db.bicep' = {
      name: 'cosmos-db'
      params: {
        location: location
        environmentType: environmentType
        cosmosDBAccountName: cosmosDBAccountName
      }
    }
    
  8. Speichern und schließen Sie die Datei main.bicep.

Überprüfen der Unterschiede und Committen der Änderungen

Nachdem Sie die Dateiunterschiede überprüft haben, können Sie Ihre Änderungen stagen und committen. Sie können auswählen, ob Sie die Git CLI oder Visual Studio Code zum Committen der Dateien verwenden. In diesem Beispiel wird die Git CLI verwendet.

  1. Sehen Sie sich mithilfe der Quellcodeverwaltung in Visual Studio Code die Unterschiede bei beiden Dateien an.

    Beachten Sie die geänderten Zeilen, die in der Datei main.bicep hervorgehoben sind.

  2. Überprüfen Sie die Dateien, die für den Commit bereit sind.

    git status
    

    Die Ausgabe sieht in etwa wie das folgende Beispiel aus.

    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. Stagen Sie die Änderungen für beide Dateien.

    git add .
    

    Durch den Punkt (.) erfolgt das Staging aller Dateien, die geändert wurden.

  4. Führen Sie für die Änderungen einen Commit aus.

    git commit --message "Add Cosmos DB module"
    

    Die Ausgabe sieht in etwa wie das folgende Beispiel aus.

    [add-database 513f700] Add Cosmos DB module
      2 files changed, 71 insertions(+)
      create mode 100644 deploy/modules/cosmos-db.bicep
    

Wechseln von Branches

Nachdem Sie nun die Änderungen an Ihrem Branch vorgenommen haben, können Sie überprüfen, ob die Änderungen nur im Branch add-database sichtbar sind.

  1. Checken Sie den Mainbranch aus. Sie können jeden der folgenden Ansätze verwenden:

    • Geben Sie im Visual Studio Code-Terminalfenster den folgenden Befehl ein:

      git checkout main
      
    • Wählen Sie in der Visual Studio Code-Statusleiste am unteren Rand des Fensters den Branchnamen aus, der derzeit als add-database angezeigt wird.

      Eine Liste von Branches wird angezeigt. Wählen Sie den Mainbranch aus.

  2. Öffnen Sie im Visual Studio Code Explorer-Bereich von Visual Studio Code die Datei main.bicep aus.

    Beachten Sie, dass keine der von Ihnen vorgenommenen Azure Cosmos DB-Datenbankänderungen enthalten sind. Nachdem Sie nun zum Mainbranch gewechselt sind, ist das Datenbankmodul nicht vorhanden. Keine Sorge: Es ist sicher in Ihrem Branch add-database gespeichert.

Zusammenführen Ihres Branches

Ihr Websiteteam hat die Änderungen getestet und ist nun bereit, die aktualisierte Website mit der Azure Cosmos DB-Datenbank zu starten. Sie führen den Branch add-database im Mainbranch zusammen.

  1. Vergewissern Sie sich, dass Sie sich im Mainbranch befinden, indem Sie git status ausführen und sich den Branchnamen in der Statusleiste ansehen.

  2. Geben Sie im Visual Studio Code-Terminal den folgenden Befehl ein, um die Änderungen aus dem Branch add-database im Mainbranch zusammenzuführen:

    git merge add-database
    
  3. Öffnen Sie im Visual Studio Code Explorer-Bereich von Visual Studio Code die Datei main.bicep aus.

    Beachten Sie, dass das Datenbankmodul jetzt in der Datei angezeigt wird. Sie haben nun Ihre als funktionierend bekannten Bicep-Dateien in Ihrem Mainbranch aktualisiert, um die Änderungen aus Ihrem Branch add-database einzuschließen.

  4. Geben Sie im Visual Studio Code-Terminal den folgenden Befehl ein, um den Branch add-database zu löschen, da Sie ihn nicht mehr benötigen:

    git branch -d add-database