Øvelse – opret og flet en forgrening

Fuldført

Tilbage i legetøjsfirmaet planlægger dine webstedsudviklere at tilføje en ny Azure Cosmos DB-database for at gemme data om det legetøj, som virksomheden sælger. Udviklerne bad dig om at opdatere Bicep-koden for at tilføje Cosmos DB-ressourcerne. De er dog ikke klar til at foretage ændringerne endnu. De vil bare have dig til at gøre ændringerne klar til, når de er færdige med ændringerne.

I denne øvelse skal du tilføje et nyt Bicep-modul på en gren af dit lager. Under processen skal du:

  • Opret en forgrening, og skift til den.
  • Skift din Bicep-kode på forgreningen.
  • Skift tilbage til din primære forgrening.
  • Flet din forgrening til primære.

Opret og tjek en forgrening ud i dit lager

  1. Ved hjælp af Visual Studio Code-terminalen skal du køre følgende kommando for at oprette og tjekke en ny forgrening ud:

    git checkout -b add-database
    
  2. Kør følgende kommando for at kontrollere lagerets status:

    git status
    

    Outputtet ligner følgende eksempel:

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

    Den første linje i outputtet fortæller dig, at Git er på forgreningen tilføjelsesprogram.

  3. I Visual Studio Code skal du se statuslinjen nederst i venstre side af vinduet. Bemærk, at forgreningsnavnet er ændret til .

    Som med de andre Git-kommandoer, du har kørt, forbliver Visual Studio Code opdateret med ændringerne i dit Git-lager, herunder når du tjekker en forgrening ud.

Opdater en fil på din forgrening

Nu, hvor du har oprettet en forgrening, skal du tilføje et nyt Bicep-modul til dit websteds Azure Cosmos DB-konto.

  1. Opret en ny fil med navnet cosmos-db.bicepi udrulle mappes moduler undermappe.

  2. Åbn og gem den tomme fil cosmos-db.bicep, så Visual Studio Code indlæser Bicep-værktøjet.

  3. Kopiér følgende kode til 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. Gem og luk filen cosmos-db.bicep.

  5. Åbn filen main.bicep.

  6. Tilføj følgende parameterdefinitioner under appServiceAppName parameterdefinition:

    @description('The name of the Cosmos DB account. This name must be globally unique.')
    param cosmosDBAccountName string = 'toyweb-${uniqueString(resourceGroup().id)}'
    
  7. Tilføj følgende moduldefinition under definitionen af appService modul:

    module cosmosDB 'modules/cosmos-db.bicep' = {
      name: 'cosmos-db'
      params: {
        location: location
        environmentType: environmentType
        cosmosDBAccountName: cosmosDBAccountName
      }
    }
    
  8. Gem og luk filen main.bicep.

Gennemse forskellene, og bekræft ændringerne

Når du har gennemset filforskellene, skal du fase og bekræfte dine ændringer. Du kan vælge, om du vil bruge Git CLI eller Visual Studio Code til at bekræfte filerne. I dette eksempel bruges Kommandolinjegrænsefladen i Git.

  1. Brug versionsstyring i Visual Studio Code, og se på forskellene for begge filer.

    Bemærk de ændrede linjer, der er fremhævet i filen main.bicep.

  2. Gennemse de filer, der er klar til at blive bekræftet.

    git status
    

    Outputtet ser ud som i følgende eksempel.

    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. Faseændringerne for begge filer.

    git add .
    

    Prik (.) faser alle de filer, der er blevet ændret.

  4. Bekræft ændringerne.

    git commit --message "Add Cosmos DB module"
    

    Outputtet ser ud som i følgende eksempel.

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

Skift forgreninger

Nu, hvor du har foretaget ændringerne i din forgrening, kan du kontrollere, at ændringerne kun er synlige på forgrening til tilføjelsesdatabasen.

  1. Se forgreningen . Du kan vælge en af følgende fremgangsmåder:

    • Angiv følgende kommando i terminalvinduet i Visual Studio Code:

      git checkout main
      
    • På statuslinjen i Visual Studio Code nederst i vinduet skal du vælge det forgreningsnavn, der i øjeblikket vises tilføjelsesprogramdatabase.

      Der vises en liste over forgreninger. Vælg forgreningen hoved.

  2. Åbn filen main.bicep i ruden Visual Studio Code Explorer.

    Bemærk, at ingen af de ændringer i Azure Cosmos DB, du har foretaget, er inkluderet. Nu, hvor du har skiftet til primære gren, er databasemodulet ikke der. Bare rolig, de er sikkert gemt på din tilføjelsesdatabase forgrening.

Flet din forgrening

Dit webstedsteam har testet ændringerne og er nu klar til at starte det opdaterede websted med Azure Cosmos DB-databasen inkluderet. Du skal flette forgreningen tilføjelsesprogram til den hovedforgrening.

  1. Kontrollér, at du er på forgreningen ved at køre git status og ved at se på forgreningsnavnet på statuslinjen.

  2. I Visual Studio Code-terminalen skal du angive følgende kommando for at flette ændringerne fra den forgrening til den primære forgrening:

    git merge add-database
    
  3. Åbn filen main.bicep i ruden Visual Studio Code Explorer.

    Bemærk, at databasemodulet nu vises i filen. Du har nu opdateret dine kendte Bicep-filer på din primære-forgrening for at medtage ændringerne fra din forgrening til tilføjelsesdatabasen.

  4. I Visual Studio Code-terminalen skal du angive følgende kommando for at slette forgreningen tilføjelsesprogram, fordi du ikke længere har brug for den:

    git branch -d add-database