Ćwiczenie — tworzenie i scalanie gałęzi
Po powrocie do firmy zabawki deweloperzy witryny internetowej planują dodać nową bazę danych usługi Azure Cosmos DB do przechowywania danych o zabawkach sprzedawanych przez firmę. Deweloperzy poprosili Cię o zaktualizowanie kodu Bicep w celu dodania zasobów usługi Cosmos DB. Jednak nie są one jeszcze gotowe do wprowadzenia zmian. Po prostu chcesz, aby zmiany były gotowe po zakończeniu modyfikacji.
W tym ćwiczeniu dodasz nowy moduł Bicep w gałęzi repozytorium. Podczas tego procesu wykonasz następujące czynności:
- Utwórz gałąź i przejdź do niej.
- Zmień kod Bicep w gałęzi .
- Wróć do gałęzi głównej.
- Scal gałąź z gałęzią główną.
Tworzenie i wyewidencjonowywanie gałęzi w repozytorium
Za pomocą terminalu programu Visual Studio Code uruchom następujące polecenie, aby utworzyć i wyewidencjonować nową gałąź:
git checkout -b add-database
Uruchom następujące polecenie, aby sprawdzić stan repozytorium:
git status
Dane wyjściowe wyglądają podobnie do następującego przykładu:
On branch add-database nothing to commit, working tree clean
Pierwszy wiersz danych wyjściowych informuje, że usługa Git znajduje się w gałęzi add-database .
W programie Visual Studio Code przyjrzyj się pasku stanu u dołu po lewej stronie okna. Zwróć uwagę, że nazwa gałęzi została zmieniona na add-database.
Podobnie jak w przypadku innych poleceń git, które zostały uruchomione, program Visual Studio Code jest aktualny wraz ze zmianami w repozytorium Git, w tym podczas wyewidencjonowania gałęzi.
Aktualizowanie pliku w gałęzi
Po utworzeniu gałęzi dodasz nowy moduł Bicep dla konta usługi Azure Cosmos DB witryny internetowej.
W podfolderze modułów folderu deploy utwórz nowy plik o nazwie cosmos-db.bicep.
Otwórz i zapisz pusty plik cosmos-db.bicep , aby program Visual Studio Code ładuje narzędzia Bicep.
Skopiuj następujący kod do pliku 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: {} } } }
Zapisz i zamknij plik cosmos-db.bicep .
Otwórz plik main.bicep.
Dodaj następujące definicje parametrów poniżej definicji parametru
appServiceAppName
:@description('The name of the Cosmos DB account. This name must be globally unique.') param cosmosDBAccountName string = 'toyweb-${uniqueString(resourceGroup().id)}'
Dodaj następującą definicję modułu poniżej definicji modułu
appService
:module cosmosDB 'modules/cosmos-db.bicep' = { name: 'cosmos-db' params: { location: location environmentType: environmentType cosmosDBAccountName: cosmosDBAccountName } }
Zapisz i zamknij plik main.bicep .
Przejrzyj różnice i zatwierdź zmiany
Po przejrzeniu różnic w plikach należy przygotować i zatwierdzić zmiany. Możesz wybrać, czy chcesz zatwierdzić pliki przy użyciu interfejsu wiersza polecenia usługi Git, czy programu Visual Studio Code. W tym przykładzie użyto interfejsu wiersza polecenia usługi Git.
Korzystając z kontroli źródła w programie Visual Studio Code, przyjrzyj się różnicom obu plików.
Zwróć uwagę na zmienione wiersze wyróżnione w pliku main.bicep .
Przejrzyj pliki, które są gotowe do zatwierdzenia.
git status
Dane wyjściowe będą wyglądać podobnie do poniższego przykładu.
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")
Przygotuj zmiany dla obu plików.
git add .
Kropka (
.
) etapy wszystkich zmienionych plików.Zatwierdź zmiany.
git commit --message "Add Cosmos DB module"
Dane wyjściowe będą wyglądać podobnie do poniższego przykładu.
[add-database 513f700] Add Cosmos DB module 2 files changed, 71 insertions(+) create mode 100644 deploy/modules/cosmos-db.bicep
Przełączanie gałęzi
Po wprowadzeniu zmian w gałęzi możesz sprawdzić, czy zmiany są widoczne tylko w gałęzi add-database .
Wyewidencjonuj gałąź główną . Możesz wybrać jedną z następujących metod:
W oknie terminalu programu Visual Studio Code wprowadź następujące polecenie:
git checkout main
Na pasku stanu programu Visual Studio Code w dolnej części okna wybierz nazwę gałęzi, która obecnie wyświetla add-database.
Zostanie wyświetlona lista gałęzi. Wybierz gałąź główną.
W okienku Eksplorator programu Visual Studio Code otwórz plik main.bicep.
Zwróć uwagę, że żadne z wprowadzonych zmian w usłudze Azure Cosmos DB nie zostały uwzględnione. Po przełączeniu się do gałęzi głównej moduł bazy danych nie istnieje. Nie martw się, są one bezpiecznie przechowywane w gałęzi add-database .
Scalanie gałęzi
Twój zespół witryny internetowej przetestował zmiany i jest teraz gotowy do uruchomienia zaktualizowanej witryny internetowej z uwzględniona bazą danych usługi Azure Cosmos DB. Scalisz gałąź add-database z gałęzią główną .
Sprawdź, czy jesteś w gałęzi głównej, uruchamiając polecenie
git status
i przeglądając nazwę gałęzi na pasku stanu.W terminalu programu Visual Studio Code wprowadź następujące polecenie, aby scalić zmiany z gałęzi add-database w gałęzi głównej:
git merge add-database
W okienku Eksplorator programu Visual Studio Code otwórz plik main.bicep.
Zwróć uwagę, że moduł bazy danych jest teraz wyświetlany w pliku . Teraz zaktualizowano znane dobre pliki Bicep w gałęzi głównej , aby uwzględnić zmiany z gałęzi add-database .
W terminalu programu Visual Studio Code wprowadź następujące polecenie, aby usunąć gałąź add-database , ponieważ nie jest już potrzebna:
git branch -d add-database