Ćwiczenie — automatyzowanie aktualizacji za pomocą funkcji GitHub Actions

Ukończone

Funkcja GitHub Actions to sposób automatyzowania potoków ciągłej integracji/ciągłego wdrażania dla wielu różnych usług, w tym usługi Azure SQL Database.

Jak pamiętasz w scenariuszu przechwytywania magistrali, utworzysz podstawę aplikacji przy użyciu bazy danych. Jeśli chcesz zaktualizować bazę danych lub wdrożyć te same konfiguracje automatycznie w nowej bazie danych, możesz użyć funkcji GitHub Actions.

Aby zautomatyzować aktualizacje, należy skonfigurować wpisy tajne usługi GitHub i plik yaml. Po skonfigurowaniu nowych zatwierdzeń, które są wypychanym wyzwalaczem przepływów pracy, które z kolei zaktualizują usługę Azure SQL Database lub inne usługi.

Bezpieczne konfigurowanie wpisów tajnych za pomocą usługi GitHub

Wpisy tajne usługi GitHub umożliwiają bezpieczne przechowywanie wpisów tajnych, kluczy i innych poufnych informacji w usłudze GitHub. W tej sekcji utworzysz nowy wpis tajny usługi GitHub zawierający parametry połączenia usługi Azure SQL Database.

  1. W pliku tekstowym, Notatniku lub na papierze określ parametry połączenia dla usługi Azure SQL Database. Będzie to coś podobnego Server=<server-name>.database.windows.net,1433;Initial Catalog=bus-db;User Id=cloudadmin;Password=<your-password>;Connection Timeout=30;

  2. Przejdź do repozytorium dla tego modułu w usłudze GitHub (upewnij się, że się zalogowałeś). Będzie to coś takiego jak https://github.com/<your-git-username>/serverless-full-stack-apps-azure-sql.

  3. Wybierz Ustawienia dla repozytorium.

  4. Wybierz pozycję Wpisy tajne i zmienne>Akcje>Nowy wpis tajny repozytorium i wprowadź następujące informacje:

    1. Nazwa: AZURE_SQL_CONNECTION_STRING
    2. Wpis tajny: ciąg Połączenie ion z poprzedniego kroku
  5. Wybierz przycisk Add secret (Dodaj wpis tajny).

Konfigurowanie pliku yaml dla funkcji GitHub Actions

W repozytorium kodu jest dostępnych kilka plików yaml szablonu. W tym module użyjesz tylko pliku przepływu pracy dla usługi Azure SQL Database.

  1. W programie Visual Studio Code wybierz ikonę Eksplorator na pasku działań, aby wyświetlić pliki repozytorium. Jeśli ich nie widzisz, wybierz pozycję Plik>Otwórz folder i przejdź do lokalizacji, w której sklonowane repozytorium.

  2. W folderze .github\workflowszmień nazwę azuresqldatabase.yml.template na azuresqldatabase.yml.

  3. Przejrzyj szablon i dowiedz się, co zrobi przepływ pracy i jak zaktualizuje bazę danych.

Wypychanie zatwierdzeń i monitorowanie wyników przy użyciu programu Visual Studio Code i usługi GitHub

Teraz, po skonfigurowaniu wpisu tajnego i pliku przepływu pracy usługi GitHub, możesz wypchnąć zatwierdzenia i obserwować przepływ pracy.

  1. Wybierz ikonę Kontrola źródła na pasku działań.

  2. W polu Komunikat wprowadź wartość "Włącz plik yaml bazy danych" lub inny komunikat.

  3. Wybierz znacznik wyboru. Jeśli zostanie wyświetlone ostrzeżenie dotyczące zatwierdzania bez przemieszczania żadnych plików, możesz wybrać opcję Tak , aby przygotować zmienione pliki.

  4. Wybierz ...>Wypychanie. Spowoduje to wypchnięcie aktualizacji do repozytorium hostowanego w usłudze GitHub i rozpoczęcie dowolnego działania usługi GitHub Actions.

    Ważne

    Jeśli zostanie wyświetlony monit o zalogowanie się, musisz użyć nazwy użytkownika usługi GitHub i uzyskać osobisty token dostępu, aby podać zamiast hasła usługi GitHub. Możesz to zrobić, przechodząc do witryny https://github.com/settings/tokens/new. Dodaj notatkę VSCode, zaznacz wszystkie pola i wybierz pozycję Generuj token. Skopiuj tekst tokenu i zapisz go w bezpiecznej lokalizacji. W programie Visual Studio Code użyj tokenu jako hasła/tokenu, aby zalogować się do usługi GitHub.

  5. Przejdź do repozytorium GitHub dla tego modułu i wybierz pozycję Akcje. Funkcja GitHub Actions umożliwia automatyzowanie, dostosowywanie i wykonywanie przepływów pracy tworzenia oprogramowania bezpośrednio w repozytorium.

  6. Obserwuj zawartość uruchomionego przepływu pracy (lub została ukończona). Zwróć uwagę, że akcja usługi Azure SQL używa .dacpac pliku w repozytorium do wdrożenia końcowego stanu bazy danych w usłudze Azure SQL Database.