Udostępnij za pośrednictwem


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:

Ten przewodnik Szybki start jako punktu wyjścia używa zasobów utworzonych w jednym z tych przewodników:

Tworzenie potoku

Użyjesz podstawowego potoku początkowego jako podstawy dla potoku.

  1. Zaloguj się do organizacji usługi Azure DevOps i przejdź do projektu.

  2. W projekcie przejdź do strony Potoki . Następnie wybierz akcję, aby utworzyć nowy potok.

  3. Zapoznaj się z krokami kreatora, wybierając najpierw usługę GitHub jako lokalizację kodu źródłowego.

  4. Być może nastąpi przekierowanie do usługi GitHub w celu zalogowania się. Jeśli tak, wprowadź poświadczenia usługi GitHub.

  5. Po wyświetleniu listy repozytoriów wybierz odpowiednie repozytorium.

  6. 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.

  1. Przejdź do strony Potoki , wybierz odpowiedni potok, a następnie wybierz pozycję Edytuj.
  2. Wybierz pozycję Zmienne.
  3. Dodaj nową zmienną o nazwie SQLpass i wybierz pozycję Zachowaj ten wpis tajny wartości, aby zaszyfrować i zapisać zmienną.
  4. 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.

  1. W witrynie Azure Portal otwórz zasób bazy danych.
  2. Wybierz pozycję Zabezpieczenia połączeń.
  3. 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.

Następne kroki