Ejercicio: creación y combinación de una rama
De vuelta en la empresa de juguetes, los desarrolladores del sitio web planean agregar una nueva base de datos de Azure Cosmos DB para almacenar datos sobre los juguetes que vende la empresa. Los desarrolladores le han pedido que actualice el código de Bicep para agregar los recursos de Cosmos DB. Pero aún no están listos para realizar los cambios. Solo quieren que los cambios estén listos para cuando terminen las modificaciones.
En este ejercicio va a agregar un nuevo módulo de Bicep en una rama del repositorio. Durante el proceso, hará lo siguiente:
- Crear una rama e ir a ella.
- Cambie el código de Bicep en la rama.
- Volver a la rama principal.
- Combinar la rama en main.
Creación y extracción de una rama del repositorio
Con el terminal de Visual Studio Code, ejecute el siguiente comando para crear y extraer del repositorio una nueva rama:
git checkout -b add-database
Ejecute el siguiente comando para comprobar el estado del repositorio:
git status
El resultado es similar al ejemplo siguiente:
On branch add-database nothing to commit, working tree clean
La primera línea de los resultados indica que Git está en la rama add-database.
En Visual Studio Code, mire la barra de estado de la parte inferior izquierda de la ventana. Observe que el nombre de la rama ha cambiado a add-database.
Al igual que con los demás comandos de Git que ha ejecutado, Visual Studio Code se mantiene al día con los cambios del repositorio de Git, incluido cuando se extrae una rama del repositorio.
Actualización de un archivo en la rama
Ahora que ha creado una rama, va a agregar un nuevo módulo de Bicep para la cuenta de Azure Cosmos DB del sitio web.
En la subcarpeta modules de la carpeta deploy, cree un archivo denominado cosmos-db.bicep.
Abra y guarde el archivo vacío cosmos-db.bicep para que Visual Studio Code cargue las herramientas de Bicep.
Copie el código siguiente en 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: {} } } }
Guarde y cierre el archivo cosmos-db.bicep.
Abra el archivo main.bicep.
Agregue las siguientes definiciones de parámetros debajo de la definición de parámetro
appServiceAppName
:@description('The name of the Cosmos DB account. This name must be globally unique.') param cosmosDBAccountName string = 'toyweb-${uniqueString(resourceGroup().id)}'
Agregue la siguiente definición de módulo debajo de la definición de módulo
appService
:module cosmosDB 'modules/cosmos-db.bicep' = { name: 'cosmos-db' params: { location: location environmentType: environmentType cosmosDBAccountName: cosmosDBAccountName } }
Guarde y cierre el archivo main.bicep.
Revisión de las diferencias y confirmación de los cambios
Después de revisar las diferencias de archivo, agregue los cambios al "stage" y confírmelos. Puede elegir si quiere usar la CLI de Git o Visual Studio Code para confirmar los archivos. En este ejemplo se usa la CLI de Git.
Con Control de código fuente de Visual Studio Code, vea las diferencias entre ambos archivos.
Observe las líneas modificadas resaltadas en el archivo main.bicep.
Revise los archivos que están listos para confirmarse.
git status
La salida será similar al ejemplo siguiente.
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")
Agregue al "stage" los cambios de los dos archivos.
git add .
El punto (
.
) agrega al "stage" todos los archivos que se han cambiado.Confirme los cambios.
git commit --message "Add Cosmos DB module"
La salida será similar al ejemplo siguiente.
[add-database 513f700] Add Cosmos DB module 2 files changed, 71 insertions(+) create mode 100644 deploy/modules/cosmos-db.bicep
Cambio de rama
Ahora que ha realizado los cambios en la rama, puede comprobar que solo son visibles en la rama add-database.
Extraiga del repositorio la rama main. Puede usar uno de los dos métodos siguientes:
Escriba el siguiente comando en el terminal de Visual Studio Code:
git checkout main
En la barra de estado de Visual Studio Code de la parte inferior de la ventana, seleccione el nombre de la rama que muestra actualmente add-database.
Aparece una lista de ramas. Seleccione la rama main.
En el panel Explorador de Visual Studio Code, abra el archivo main.bicep.
Tenga en cuenta que no se incluye ninguno de los cambios de Azure Cosmos DB que ha realizado. Ahora que ha cambiado a la rama main, el módulo de base de datos no está ahí. No se preocupe: está almacenado de forma segura en la rama add-database.
Combinación de la rama
El equipo del sitio web ha probado los cambios y ya está listo para publicar el sitio web actualizado con la base de datos de Azure Cosmos DB incluida. Va a combinar la rama add-database en la rama main.
Para comprobar que está en la rama main, ejecute
git status
y consulte el nombre de la rama en la barra de estado.En el terminal de Visual Studio Code, escriba el siguiente comando para combinar los cambios de la rama add-database en la rama main:
git merge add-database
En el panel Explorador de Visual Studio Code, abra el archivo main.bicep.
Observe que el módulo de base de datos ahora aparece en el archivo. Ya ha actualizado los archivos de Bicep válidos conocidos en la rama main para incluir los cambios de la rama add-database.
En el terminal de Visual Studio Code, escriba el siguiente comando para eliminar la rama add-database, puesto que ya no la necesita:
git branch -d add-database