Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019
Aktualizacje bazy danych można wdrożyć automatycznie w bazie danych Azure SQL Database po każdej pomyślnej kompilacji.
Pakiet DACPAC
Najprostszym sposobem wdrożenia bazy danych jest utworzenie pakietu warstwy danych lub pakietu DACPAC. DACPACs może służyć do tworzenia pakietów i wdrażania zmian schematu i danych. Pakiet DACPAC można utworzyć przy użyciu projektu bazy danych SQL w programie Visual Studio.
Aby wdrożyć pakiet DACPAC w bazie danych Azure SQL Database, dodaj następujący fragment kodu do pliku azure-pipelines.yml.
YAML
- task:SqlAzureDacpacDeployment@1 displayName:ExecuteAzureSQL:DacpacTask inputs: azureSubscription:'<Azure service connection>' ServerName:'<Database server name>' DatabaseName:'<Database name>' SqlUsername:'<SQL user name>' SqlPassword:'<SQL user password>' DacpacFile:'<Location of Dacpac file in $(Build.SourcesDirectory) after compilation>'
Podczas konfigurowania potoku kompilacji dla projektu bazy danych programu Visual Studio użyj szablonu pulpitu platformy .NET. Ten szablon automatycznie dodaje zadania do kompilowania projektu i publikowania artefaktów, w tym pakietu DACPAC.
Podczas konfigurowania potoku wydania wybierz pozycję Rozpocznij od pustego potoku, połącz artefakty z kompilacji, a następnie dodaj zadanie wdrażania usługi Azure SQL Database.
Zamiast używać pakietu DACPAC, możesz również użyć skryptów SQL do wdrożenia bazy danych. Oto prosty przykład skryptu SQL, który tworzy pustą bazę danych.
SQL
USE [main]
GOIFNOTEXISTS (SELECTnameFROM main.sys.databases WHEREname = N'DatabaseExample')
CREATEDATABASE [DatabaseExample]
GO
Aby uruchomić skrypty SQL w ramach potoku, należy utworzyć i usunąć reguły zapory na platformie Azure za pomocą skryptów programu Azure PowerShell. Bez reguł zapory agent usługi Azure Pipelines nie może komunikować się z usługą Azure SQL Database.
Poniższy skrypt programu PowerShell tworzy reguły zapory. Możesz zaewidencjonować ten skrypt w SetAzureFirewallRule.ps1 repozytorium.
Podczas konfigurowania potoku kompilacji upewnij się, że skrypt SQL do wdrożenia bazy danych i skryptów programu Azure PowerShell w celu skonfigurowania reguł zapory jest częścią artefaktu kompilacji.
Po skonfigurowaniu potoku wydania wybierz pozycję Rozpocznij od pustego procesu, połącz artefakty z kompilacji, a następnie użyj następujących zadań:
Użyj zadania programu Azure PowerShell, aby dodać regułę zapory na platformie Azure, aby umożliwić agentowi usługi Azure Pipelines nawiązywanie połączenia z usługą Azure SQL Database. Skrypt wymaga jednego argumentu — nazwy utworzonego serwera SQL.
Użyj zadania programu PowerShell, aby wywołać polecenie SQLCMD i wykonać skrypty. Dodaj następujący wbudowany skrypt do zadania:
Zadanie wdrażania usługi Azure SQL Database jest podstawowym mechanizmem wdrażania bazy danych na platformie Azure. To zadanie, podobnie jak w przypadku innych wbudowanych zadań platformy Azure, wymaga połączenia z usługą platformy Azure jako danych wejściowych. Połączenie z usługą platformy Azure przechowuje poświadczenia do nawiązania połączenia z usługi Azure Pipelines z platformą Azure.
Najprostszym sposobem rozpoczęcia pracy z tym zadaniem jest zalogowanie się jako użytkownik, który jest właścicielem zarówno organizacji usługi Azure DevOps, jak i subskrypcji platformy Azure.
W takim przypadku nie trzeba ręcznie tworzyć połączenia usługi.
W przeciwnym razie, aby dowiedzieć się, jak utworzyć połączenie z usługą platformy Azure, zobacz Tworzenie połączenia z usługą platformy Azure.
Aby dowiedzieć się, jak utworzyć połączenie z usługą platformy Azure, zobacz Tworzenie połączenia z usługą platformy Azure.
Wdrażanie warunkowe
Możesz zdecydować się na wdrożenie tylko niektórych kompilacji w bazie danych platformy Azure.
Aby to zrobić w języku YAML, możesz użyć jednej z następujących technik:
Izoluj kroki wdrażania do oddzielnego zadania i dodaj warunek do tego zadania.
Dodaj warunek do kroku.
W poniższym przykładzie pokazano, jak za pomocą warunków kroku wdrożyć tylko te kompilacje pochodzące z gałęzi głównej.
YAML
- task:SqlAzureDacpacDeployment@1 condition:and(succeeded(),eq(variables['Build.SourceBranch'],'refs/heads/main')) inputs: azureSubscription:'<Azure service connection>' ServerName:'<Database server name>' DatabaseName:'<Database name>' SqlUsername:'<SQL user name>' SqlPassword:'<SQL user password>' DacpacFile:'<Location of Dacpac file in $(Build.SourcesDirectory) after compilation>'
W potoku wydania można zaimplementować różne kontrole i warunki w celu kontrolowania wdrożenia.
Uwaga
W niektórych konfiguracjach może być konieczne dodanie zakresu adresów IP dla określonego regionu zaktualizowanego w cotygodniowym pliku JSON. Dowiedz się więcej o sieciowych agentach hostowanych przez firmę Microsoft.
Ustaw filtry gałęzi, aby skonfigurować wyzwalacz ciągłego wdrażania na artefakt potoku wydania.
Ustaw zatwierdzenia przed wdrożeniem jako warunek wstępny wdrożenia na etap.
Skonfiguruj bramy jako warunek wstępny wdrożenia na etapie.
Usługi SQL Azure wdrożenie Dacpac może nie obsługiwać wszystkich akcji programu SQL Server, które chcesz wykonać. W takich przypadkach możesz po prostu użyć programu PowerShell lub skryptów wiersza polecenia, aby uruchomić potrzebne polecenia.
W tej sekcji przedstawiono niektóre typowe przypadki użycia podczas wywoływania narzędzia SqlPackage.exe.
W ramach wymagań wstępnych dotyczących uruchamiania tego narzędzia należy użyć własnego agenta i zainstalować narzędzie na agencie.
Uwaga
Jeśli wykonujesz pakiet SQLPackage z folderu, w którym jest zainstalowany, musisz prefiksować ścieżkę za pomocą & polecenia i opakowować ją w cudzysłowy.
Podstawowa składnia
<Path of SQLPackage.exe> <Arguments to SQLPackage.exe>
W zależności od akcji, którą chcesz wykonać, możesz użyć dowolnego z poniższych skryptów SQL
Wyodrębnianie
Tworzy plik migawki bazy danych (dacpac) z serwera SQL na żywo lub bazy danych Microsoft Azure SQL Database.
Przyrostowo aktualizuje schemat bazy danych, aby był zgodny ze schematem źródłowego pliku dacpac. Jeśli baza danych nie istnieje na serwerze, operacja publikowania go utworzy. W przeciwnym razie istniejąca baza danych zostanie zaktualizowana.
Eksportuje dynamiczną bazę danych, w tym schemat bazy danych i dane użytkownika, z programu SQL Server lub usługi Microsoft Azure SQL Database do pakietu BACPAC (plik bacpac).
Importuje dane schematu i tabeli z pakietu BACPAC do nowej bazy danych użytkownika w wystąpieniu programu SQL Server lub usługi Microsoft Azure SQL Database.
Dołącz do serii meetup, aby tworzyć skalowalne rozwiązania sztucznej inteligencji oparte na rzeczywistych przypadkach użycia z innymi deweloperami i ekspertami.
Dowiedz się, jak utworzyć i skonfigurować usługę Azure SQL Database. Użyjesz projektów usługi SQL Database w programie VS Code, w tym instalowania rozszerzenia, importowania i modyfikowania schematu. Ponadto utworzysz i wdrożysz projekty baz danych w funkcjach GitHub Actions i Azure Pipelines oraz zautomatyzujesz i wywołasz publikowanie bazy danych.
Administrowanie infrastrukturą bazy danych programu SQL Server dla chmurowych, lokalnych i hybrydowych relacyjnych baz danych przy użyciu ofert relacyjnych baz danych PaaS firmy Microsoft.
Wdrożenia ręcznej bazy danych mogą być czasochłonne i podatne na błędy, upewniając się, że tylko zatwierdzone zmiany są wdrażane w celu testowania, używania funkcji UAT i ostatecznie środowiska produkcyjnego. Usługa Azure Pipelines pomaga zespołom deweloperów i zespołom dbA zapewnić spójny proces wdrażania zmian, ponieważ zmiany są sprawdzane w kontroli źródła. Ten odcinek dotyczy usług Azure Repos i Azure Data Studio oprócz usługi Azure Pipelines. Rozdziały 00:22 — Wprowadzenie 00:57 — Wprowadzenie do usł
Wiele organizacji ma złożone wymagania dotyczące zabezpieczeń i wdrażania. W drugiej części tej dwuczęściowej serii z arvindem Shyamsundar pokazano, jak korzystać z funkcji usługi Azure Pipelines, takich jak potoki wieloetapowe i obsługa interfejsu wiersza polecenia az, aby bezpiecznie wdrożyć program Azure SQL Server i bazę danych w prywatnej sieci wirtualnej na platformie Azure. Aby dowiedzieć się, jak rozpocząć pracę z usługą DevOps dla usługi Azure SQL, obejrzyj część 1. [01:00] Zmienione pode