Usługa Azure Pipelines dla usługi Azure Database for MySQL — pojedynczy serwer
DOTYCZY: Azure Database for MySQL — pojedynczy serwer
Rozpocznij pracę z usługą Azure Database for MySQL, wdrażając aktualizację bazy danych za pomocą usługi Azure Pipelines. Usługa Azure Pipelines umożliwia tworzenie, testowanie i wdrażanie za pomocą ciągłej integracji i ciągłego dostarczania (CD) przy użyciu usługi Azure DevOps.
Użyjesz zadania wdrażania usługi Azure Database for MySQL. Zadanie wdrażania usługi Azure Database for MySQL działa tylko z pojedynczym serwerem usługi Azure Database for MySQL.
Wymagania wstępne
Przed rozpoczęciem potrzebne są następujące elementy:
- Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
- Aktywna organizacja usługi Azure DevOps. Utwórz konto w usłudze Azure Pipelines.
- Repozytorium GitHub, którego można użyć dla potoku. Jeśli nie masz istniejącego repozytorium, zobacz Tworzenie pierwszego potoku.
Ten przewodnik Szybki start jako punktu wyjścia używa zasobów utworzonych w jednym z tych przewodników:
- Tworzenie serwera usługi Azure Database for MySQL za pomocą witryny Azure Portal
- Tworzenie serwera usługi Azure Database for MySQL za pomocą interfejsu wiersza polecenia platformy Azure
Tworzenie potoku
Użyjesz podstawowego potoku początkowego jako podstawy dla potoku.
Zaloguj się do organizacji usługi Azure DevOps i przejdź do projektu.
W projekcie przejdź do strony Potoki . Następnie wybierz akcję, aby utworzyć nowy potok.
Zapoznaj się z krokami kreatora, wybierając najpierw usługę GitHub jako lokalizację kodu źródłowego.
Być może nastąpi przekierowanie do usługi GitHub w celu zalogowania się. Jeśli tak, wprowadź poświadczenia usługi GitHub.
Po wyświetleniu listy repozytoriów wybierz odpowiednie repozytorium.
Usługa Azure Pipelines przeanalizuje repozytorium i zaoferuje opcje konfiguracji. Wybierz pozycję Potok startowy.
Utwórz klucz tajny
Musisz znać nazwę serwera bazy danych, nazwę użytkownika SQL i hasło SQL do użycia z zadaniem wdrażania usługi Azure Database for MySQL.
W przypadku zabezpieczeń należy zapisać hasło SQL jako zmienną wpisu tajnego w interfejsie użytkownika ustawień potoku dla potoku.
- Przejdź do strony Potoki , wybierz odpowiedni potok, a następnie wybierz pozycję Edytuj.
- Wybierz pozycję Zmienne.
- Dodaj nową zmienną o nazwie
SQLpass
i wybierz pozycję Zachowaj ten wpis tajny wartości, aby zaszyfrować i zapisać zmienną. - Wybierz przycisk OK i zapisz , aby dodać zmienną.
Weryfikowanie uprawnień dla bazy danych
Aby uzyskać dostęp do bazy danych MySQL za pomocą usługi Azure Pipelines, musisz ustawić bazę danych tak, aby akceptowała połączenia ze wszystkich zasobów platformy Azure.
- W witrynie Azure Portal otwórz zasób bazy danych.
- Wybierz pozycję Zabezpieczenia połączeń.
- Przełącz opcję Zezwalaj na dostęp do usług platformy Azure na wartość Tak.
Dodawanie zadania wdrażania usługi Azure Database for MySQL
W tym przykładzie utworzymy nowe bazy danych o nazwie quickstartdb
i dodamy tabelę spisu. Wbudowany skrypt SQL będzie:
- Usuń
quickstartdb
, jeśli istnieje i utwórz nowąquickstartdb
bazę danych. - Usuń tabelę
inventory
, jeśli istnieje i utwórz nowąinventory
tabelę. - Wstaw trzy wiersze do
inventory
. - Pokaż wszystkie wiersze.
- Zaktualizuj wartość pierwszego wiersza w pliku
inventory
. - Usuń drugi wiersz w pliku
inventory
.
W zadaniu wdrażania należy zastąpić następujące wartości.
Dane wejściowe | opis | Przykład |
---|---|---|
azureSubscription |
Uwierzytelnianie za pomocą subskrypcji platformy Azure za pomocą połączenia z usługą. | My Subscription |
ServerName |
Nazwa serwera usługi Azure Database for MySQL. | fabrikam.mysql.database.azure.com |
SqlUsername |
Nazwa użytkownika usługi Azure Database for MySQL. | mysqladmin@fabrikam |
SqlPassword |
Hasło nazwy użytkownika. Należy to zdefiniować jako zmienną wpisu tajnego. | $(SQLpass) |
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- task: AzureMysqlDeployment@1
inputs:
azureSubscription: '<your-subscription>
ServerName: '<db>.mysql.database.azure.com'
SqlUsername: '<username>@<db>'
SqlPassword: '$(SQLpass)'
TaskNameSelector: 'InlineSqlTask'
SqlInline: |
DROP DATABASE IF EXISTS quickstartdb;
CREATE DATABASE quickstartdb;
USE quickstartdb;
-- Create a table and insert rows
DROP TABLE IF EXISTS inventory;
CREATE TABLE inventory (id serial PRIMARY KEY, name VARCHAR(50), quantity INTEGER);
INSERT INTO inventory (name, quantity) VALUES ('banana', 150);
INSERT INTO inventory (name, quantity) VALUES ('orange', 154);
INSERT INTO inventory (name, quantity) VALUES ('apple', 100);
-- Read
SELECT * FROM inventory;
-- Update
UPDATE inventory SET quantity = 200 WHERE id = 1;
SELECT * FROM inventory;
-- Delete
DELETE FROM inventory WHERE id = 2;
SELECT * FROM inventory;
IpDetectionMethod: 'AutoDetect'
Wdrażanie i weryfikowanie zasobów
Wybierz pozycję Zapisz i uruchom, aby wdrożyć potok. Zadanie potoku zostanie uruchomione, a po kilku minutach stan zadania powinien wskazywać wartość Success
.
Możesz sprawdzić, czy potok został pomyślnie uruchomiony w AzureMysqlDeployment
ramach zadania w przebiegu potoku.
Otwórz zadanie i sprawdź, czy dwa ostatnie wpisy zawierają dwa wiersze w pliku inventory
. Istnieją dwa wiersze, ponieważ drugi wiersz został usunięty.
Czyszczenie zasobów
Po zakończeniu pracy z potokiem usuń go quickstartdb
w usłudze Azure Database for MySQL. Możesz również usunąć utworzony potok wdrażania.