Automatyzowanie ciągłej integracji przy użyciu wydań usługi Azure Pipelines

DOTYCZY: Azure Data Factory Azure Synapse Analytics

Napiwek

Wypróbuj usługę Data Factory w usłudze Microsoft Fabric — rozwiązanie analityczne typu all-in-one dla przedsiębiorstw. Usługa Microsoft Fabric obejmuje wszystko, od przenoszenia danych do nauki o danych, analizy w czasie rzeczywistym, analizy biznesowej i raportowania. Dowiedz się, jak bezpłatnie rozpocząć nową wersję próbną !

Poniżej przedstawiono przewodnik konfigurowania wydania usługi Azure Pipelines, który automatyzuje wdrażanie fabryki danych w wielu środowiskach.

Wymagania

  • Subskrypcja platformy Azure połączona z serwerem Azure DevOps Server (dawniej Visual Studio Team Foundation Server) lub usługą Azure Repos korzystającą z punktu końcowego usługi Azure Resource Manager.

  • Fabryka danych skonfigurowana przy użyciu integracji usługi Azure Repos Git.

  • Magazyn kluczy platformy Azure zawierający wpisy tajne dla każdego środowiska.

Konfigurowanie wydania usługi Azure Pipelines

  1. W usłudze Azure DevOps otwórz projekt skonfigurowany przy użyciu fabryki danych.

  2. Po lewej stronie wybierz pozycję Potoki, a następnie wybierz pozycję Wydania.

    Select Pipelines, Releases

  3. Wybierz pozycję Nowy potok lub, jeśli masz istniejące potoki, wybierz pozycję Nowy , a następnie pozycję Nowy potok wydania.

  4. Wybierz szablon Puste zadanie.

    Select Empty job

  5. W polu Nazwa etapu wprowadź nazwę środowiska.

  6. Wybierz pozycję Dodaj artefakt, a następnie wybierz repozytorium git skonfigurowane przy użyciu fabryki danych deweloperskich. Wybierz gałąź publikowania repozytorium dla gałęzi Domyślne. Domyślnie ta gałąź publikowania to adf_publish. W polu Wersja domyślna wybierz pozycję Najnowsza z gałęzi domyślnej.

    Add an artifact

  7. Dodaj zadanie wdrażania usługi Azure Resource Manager:

    a. W widoku etapu wybierz pozycję Wyświetl zadania etapu.

    Stage view

    b. Utwórz nowe zadanie. Wyszukaj pozycję Wdrażanie szablonu usługi ARM, a następnie wybierz pozycję Dodaj.

    c. W zadaniu Wdrożenie wybierz subskrypcję, grupę zasobów i lokalizację docelowej fabryki danych. W razie potrzeby podaj poświadczenia.

    d. Na liście Akcja wybierz pozycję Utwórz lub zaktualizuj grupę zasobów.

    e. Wybierz przycisk wielokropka (...) obok pola Szablon . Wyszukaj szablon usługi Azure Resource Manager wygenerowany w gałęzi publikowania skonfigurowanego repozytorium git. Wyszukaj plik ARMTemplateForFactory.json w folderze <FactoryName> gałęzi adf_publish.

    f. Wybierz pozycję ... obok pola Parametry szablonu, aby wybrać plik parametrów. Wyszukaj plik ARMTemplateParametersForFactory.json w folderze >FactoryName< gałęzi adf_publish.

    g. Wybierz pozycję ... obok pola Zastąpij parametry szablonu i wprowadź żądane wartości parametrów dla docelowej fabryki danych. W przypadku poświadczeń pochodzących z usługi Azure Key Vault wprowadź nazwę wpisu tajnego między podwójnym cudzysłowem. Jeśli na przykład nazwa wpisu tajnego to cred1, wprowadź wartość "$(cred1)" dla tej wartości.

    h. Wybierz pozycję Przyrostowe dla trybu wdrażania.

    Ostrzeżenie

    W trybie pełnego wdrażania zasoby, które istnieją w grupie zasobów, ale nie są określone w nowym szablonie usługi Resource Manager, zostaną usunięte. Aby uzyskać więcej informacji, zobacz Tryby wdrażania usługi Azure Resource Manager

    Data Factory Prod Deployment

  8. Zapisz potok wydania.

  9. Aby wyzwolić wydanie, wybierz pozycję Utwórz wydanie. Aby zautomatyzować tworzenie wydań, zobacz Wyzwalacze wydania usługi Azure DevOps

    Select Create release

Ważne

W scenariuszach ciągłej integracji/ciągłego wdrażania typ środowiska Integration Runtime (IR) w różnych środowiskach musi być taki sam. Jeśli na przykład masz własne środowisko IR w środowisku deweloperskim, to samo środowisko IR musi być również hostowane samodzielnie w innych środowiskach, takich jak testowanie i produkcja. Podobnie, jeśli udostępniasz środowiska Integration Runtime na wielu etapach, musisz skonfigurować środowiska Integration Runtime jako połączone samodzielnie hostowane we wszystkich środowiskach, takich jak programowanie, testowanie i produkcja.

Uzyskiwanie wpisów tajnych z usługi Azure Key Vault

Jeśli masz wpisy tajne do przekazania szablonu usługi Azure Resource Manager, zalecamy użycie usługi Azure Key Vault z wydaniem usługi Azure Pipelines.

Istnieją dwa sposoby obsługi wpisów tajnych:

  • Dodaj wpisy tajne do pliku parametrów. Aby uzyskać więcej informacji, zobacz Używanie usługi Azure Key Vault do przekazywania bezpiecznej wartości parametru podczas wdrażania.

    Utwórz kopię pliku parametrów przekazanego do gałęzi publikowania. Ustaw wartości parametrów, które chcesz pobrać z usługi Key Vault, używając następującego formatu:

    {
        "parameters": {
            "azureSqlReportingDbPassword": {
                "reference": {
                    "keyVault": {
                        "id": "/subscriptions/<subId>/resourceGroups/<resourcegroupId> /providers/Microsoft.KeyVault/vaults/<vault-name> "
                    },
                    "secretName": " < secret - name > "
                }
            }
        }
    }
    

    W przypadku użycia tej metody wpis tajny jest automatycznie ściągany z magazynu kluczy.

    Plik parametrów musi również znajdować się w gałęzi publikowania.

  • Dodaj zadanie usługi Azure Key Vault przed zadaniem wdrażania usługi Azure Resource Manager opisanym w poprzedniej sekcji:

    1. Na karcie Zadania utwórz nowe zadanie. Wyszukaj usługę Azure Key Vault i dodaj ją.

    2. W zadaniu usługi Key Vault wybierz subskrypcję, w której utworzono magazyn kluczy. W razie potrzeby podaj poświadczenia, a następnie wybierz magazyn kluczy.

    Add a Key Vault task

Udzielanie uprawnień agentowi usługi Azure Pipelines

Zadanie usługi Azure Key Vault może zakończyć się niepowodzeniem z powodu błędu Odmowa dostępu, jeśli nie ustawiono odpowiednich uprawnień. Pobierz dzienniki wydania i znajdź plik ps1 zawierający polecenie , aby udzielić uprawnień agentowi usługi Azure Pipelines. Możesz uruchomić polecenie bezpośrednio. Możesz też skopiować identyfikator podmiotu zabezpieczeń z pliku i ręcznie dodać zasady dostępu w witrynie Azure Portal. Get i List są minimalnymi wymaganymi uprawnieniami.

Aktualizowanie aktywnych wyzwalaczy

Zainstaluj najnowsze moduły programu Azure PowerShell, wykonując instrukcje podane w temacie Instalowanie i konfigurowanie programu Azure PowerShell.

Ostrzeżenie

Jeśli nie używasz najnowszych wersji modułu Programu PowerShell i usługi Data Factory, podczas uruchamiania poleceń mogą wystąpić błędy deserializacji.

Wdrożenie może zakończyć się niepowodzeniem, jeśli spróbujesz zaktualizować aktywne wyzwalacze. Aby zaktualizować aktywne wyzwalacze, należy je ręcznie zatrzymać, a następnie ponownie uruchomić je po wdrożeniu. Można to zrobić za pomocą zadania programu Azure PowerShell:

  1. Na karcie Zadania wydania dodaj zadanie programu Azure PowerShell. Wybierz wersję zadania najnowszą wersję programu Azure PowerShell.

  2. Wybierz subskrypcję, w ramach których znajduje się fabryka.

  3. Wybierz pozycję Ścieżka pliku skryptu jako typ skryptu. Wymaga to zapisania skryptu programu PowerShell w repozytorium. Do zatrzymywania wyzwalaczy można użyć następującego skryptu programu PowerShell:

    $triggersADF = Get-AzDataFactoryV2Trigger -DataFactoryName $DataFactoryName -ResourceGroupName $ResourceGroupName
    
    $triggersADF | ForEach-Object { Stop-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name $_.name -Force }
    

Możesz wykonać podobne kroki (z funkcją), aby ponownie uruchomić wyzwalacze po wdrożeniu Start-AzDataFactoryV2Trigger .

Zespół fabryki danych udostępnił przykładowy skrypt wstępny i po wdrożeniu.

Uwaga

Użyj prePostDeploymentScript.Ver2.ps1, jeśli chcesz wyłączyć/włączyć tylko zmodyfikowane wyzwalacze zamiast wyłączać wszystkie wyzwalacze/ włączone podczas ciągłej integracji/ciągłego wdrażania.

Ostrzeżenie

Pamiętaj, aby uruchomić skrypt za pomocą programu PowerShell Core w zadaniu ADO