Exercício - Criar e mesclar uma ramificação

Concluído

De volta à empresa de brinquedos, os desenvolvedores do seu site planejam adicionar um novo banco de dados do Azure Cosmos DB para armazenar dados sobre os brinquedos que a empresa vende. Os desenvolvedores pediram que você atualizasse o código Bicep para adicionar os recursos do Cosmos DB. No entanto, eles ainda não estão prontos para fazer as alterações. Eles só querem que você prepare as alterações para quando terminarem as modificações.

Neste exercício, você adicionará um novo módulo Bicep em uma ramificação do repositório. Durante o processo, você:

  • Crie uma ramificação e alterne para ela.
  • Altere o código Bicep na ramificação.
  • Volte para a sua filial principal.
  • Mescle sua ramificação para a principal.

Criar e fazer check-out de uma ramificação em seu repositório

  1. Usando o terminal do Visual Studio Code, execute o seguinte comando para criar e fazer check-out de uma nova ramificação:

    git checkout -b add-database
    
  2. Execute o seguinte comando para verificar o status do repositório:

    git status
    

    A saída é semelhante ao exemplo a seguir:

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

    A primeira linha da saída informa que o Git está na ramificação add-database .

  3. No Visual Studio Code, observe a barra de status na parte inferior, lado esquerdo da janela. Observe que o nome da ramificação foi alterado para add-database.

    Assim como os outros comandos do Git executados, o Visual Studio Code permanece atualizado com as alterações no repositório do Git, inclusive quando você faz check-out de uma ramificação.

Atualizar um ficheiro na sua sucursal

Agora que você criou uma ramificação, adicionará um novo módulo Bicep para a conta do Azure Cosmos DB do seu site.

  1. Na subpasta módulos da pasta deploy, crie um novo arquivo chamado cosmos-db.bicep.

  2. Abra e salve o arquivo cosmos-db.bicep vazio para que o Visual Studio Code carregue as ferramentas do Bicep.

  3. Copie o seguinte código para 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. Salve e feche o arquivo cosmos-db.bicep .

  5. Abra o arquivo main.bicep .

  6. Adicione as seguintes definições de parâmetro abaixo da definição de appServiceAppName parâmetro:

    @description('The name of the Cosmos DB account. This name must be globally unique.')
    param cosmosDBAccountName string = 'toyweb-${uniqueString(resourceGroup().id)}'
    
  7. Adicione a seguinte definição de módulo abaixo da definição de appService módulo:

    module cosmosDB 'modules/cosmos-db.bicep' = {
      name: 'cosmos-db'
      params: {
        location: location
        environmentType: environmentType
        cosmosDBAccountName: cosmosDBAccountName
      }
    }
    
  8. Salve e feche o arquivo main.bicep .

Revise as diferenças e confirme as alterações

Depois de revisar as diferenças de arquivo, prepare e confirme suas alterações. Você pode escolher se deseja usar a CLI do Git ou o Visual Studio Code para confirmar os arquivos. Este exemplo usa a CLI do Git.

  1. Usando o controle do código-fonte no Visual Studio Code, examine as diferenças para ambos os arquivos.

    Observe as linhas alteradas realçadas no arquivo main.bicep .

  2. Revise os arquivos que estão prontos para confirmação.

    git status
    

    A saída será semelhante ao exemplo a seguir.

    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. Prepare as alterações para ambos os arquivos.

    git add .
    

    O ponto (.) prepara todos os arquivos que foram alterados.

  4. Consolide as alterações.

    git commit --message "Add Cosmos DB module"
    

    A saída será semelhante ao exemplo a seguir.

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

Mudar de filial

Agora que você fez as alterações em sua ramificação, você pode verificar se as alterações estão visíveis somente na ramificação do banco de dados de adição.

  1. Confira o ramo principal . Você pode escolher uma das seguintes abordagens:

    • Na janela do terminal do Visual Studio Code, digite o seguinte comando:

      git checkout main
      
    • Na barra de status do Visual Studio Code na parte inferior da janela, selecione o nome da ramificação que atualmente exibe add-database.

      É apresentada uma lista de sucursais. Selecione a ramificação principal .

  2. No painel Visual Studio Code Explorer , abra o arquivo main.bicep .

    Observe que nenhuma das alterações feitas no Azure Cosmos DB está incluída. Agora que você mudou para a ramificação principal , o módulo de banco de dados não está lá. Não se preocupe, eles são armazenados com segurança em sua ramificação de banco de dados de suplementos.

Mesclar sua filial

Sua equipe de site testou as alterações e agora está pronta para iniciar o site atualizado com o banco de dados do Azure Cosmos DB incluído. Você mesclará a ramificação add-database na ramificação principal .

  1. Verifique se você está na ramificação principal executando git status e observando o nome da ramificação na barra de status.

  2. No terminal do Visual Studio Code, digite o seguinte comando para mesclar as alterações da ramificação do banco de dados suplementar para a ramificação principal :

    git merge add-database
    
  3. No painel Visual Studio Code Explorer , abra o arquivo main.bicep .

    Observe que o módulo de banco de dados agora aparece no arquivo. Agora você atualizou seus arquivos Bicep em boas condições, em sua ramificação principal , para incluir as alterações de sua ramificação de banco de dados de adição.

  4. No terminal de código do Visual Studio, digite o seguinte comando para excluir a ramificação do banco de dados adicional porque você não precisa mais dele:

    git branch -d add-database