Sdílet prostřednictvím


Nastavení nasazení DevOps pro aplikace logiky Standard v Azure Logic Apps s jedním tenantem

Platí pro: Azure Logic Apps (Standard)

Tato příručka primárně ukazuje, jak nastavit nasazení pro projekt standardní aplikace logiky v editoru Visual Studio Code do vaší infrastruktury pomocí nástrojů a procesů DevOps. Pokud vaše standardní aplikace logiky existuje na webu Azure Portal, můžete si stáhnout soubory artefaktů aplikace logiky pro použití s nasazením DevOps. Na základě toho, jestli chcete použít GitHub nebo Azure DevOps, pak zvolíte cestu a nástroje, které nejlépe vyhovují vašemu scénáři nasazení.

Pokud nemáte standardní aplikaci logiky, můžete dál postupovat podle této příručky pomocí propojených ukázkových projektů standardní aplikace logiky a příkladů nasazení do Azure prostřednictvím GitHubu nebo Azure DevOps. Další informace najdete v přehledu nasazení DevOps pro Azure Logic Apps s jedním tenantem.

Požadavky

Nasazení prostředků infrastruktury

Pokud chcete vyzkoušet prostředí nasazení DevOps bez předchozího nastavení aplikace logiky nebo infrastruktury úrovně Standard, použijte následující ukázkové projekty, abyste mohli nastavit nasazení pro ukázkovou aplikaci logiky a infrastrukturu úrovně Standard na základě toho, jestli chcete použít GitHub nebo Azure DevOps:

Obě ukázky zahrnují následující prostředky, které aplikace logiky Standard používá ke spuštění:

Název prostředku Požadováno Popis
Standardní aplikace logiky Ano Tento prostředek Azure obsahuje pracovní postupy, které běží v Azure Logic Apps s jedním tenantem.

Důležité: V projektu aplikace logiky má každý pracovní postup workflow.json soubor, který obsahuje definici pracovního postupu, která zahrnuje definice triggeru a akce.
Připojení API Ano, pokud existují připojení rozhraní API Tyto prostředky Azure definují všechna spravovaná připojení rozhraní API, která vaše pracovní postupy používají ke spouštění operací spravovaných konektorů, jako jsou Office 365, SharePoint atd.

Důležité: V projektu aplikace logiky obsahuje soubor connections.json metadata, koncové body a klíče pro všechna spravovaná připojení rozhraní API a funkce Azure, které používají vaše pracovní postupy. Pokud chcete v každém prostředí používat různá připojení a funkce, ujistěte se, že parametrizujete soubor connections.json a aktualizujete koncové body.

Další informace najdete v prostředcích připojení rozhraní API a zásadách přístupu.
Plán hostování služby Functions Premium nebo App Service Ano Tento prostředek Azure určuje hostitelské prostředky, které se mají použít pro spouštění aplikace logiky, jako jsou výpočetní prostředky, zpracování, úložiště, sítě atd.

Důležité: V aktuálním prostředí vyžaduje prostředek aplikace logiky Standard plán hostování pracovního postupu, který je založený na plánu hostování Azure Functions Premium.
Účet služby Azure Storage Ano, pro stavové i bezstavové pracovní postupy Tento prostředek Azure ukládá metadata, klíče pro řízení přístupu, stav, vstupy, výstupy, historii spuštění a další informace o vašich pracovních postupech.
Application Insights Volitelné Tento prostředek Azure poskytuje možnosti monitorování pro vaše pracovní postupy.
Šablona ARM (Azure Resource Manageru) Volitelné Tento prostředek Azure definuje základní nasazení infrastruktury, které můžete opakovaně použít nebo exportovat.

Prostředky připojení rozhraní API a zásady přístupu

V Azure Logic Apps s jedním tenantem vyžaduje každý prostředek připojení spravovaného rozhraní API ve vašem pracovním postupu přidružené zásady přístupu. Tato zásada potřebuje identitu aplikace logiky, aby poskytovala správná oprávnění pro přístup k infrastruktuře spravovaného konektoru. Zahrnuté ukázkové projekty zahrnují šablonu ARM, která zahrnuje všechny potřebné prostředky infrastruktury, včetně těchto zásad přístupu.

Následující diagram například ukazuje závislosti mezi projektem standardní aplikace logiky a prostředky infrastruktury:

Koncepční diagram znázorňuje závislosti infrastruktury pro projekt standardní aplikace logiky v modelu Azure Logic Apps s jedním tenantem.

Stažení artefaktů standardní aplikace logiky z portálu

Pokud je vaše standardní aplikace logiky na webu Azure Portal, můžete stáhnout soubor ZIP, který obsahuje soubory artefaktů vaší aplikace logiky, včetně workflow.json, connections.json, host.json a local.settings.json.

  1. Na webu Azure Portal vyhledejte a otevřete prostředek aplikace logiky Standard.

  2. V nabídce aplikace logiky vyberte Přehled.

  3. Na panelu nástrojů Přehled vyberte Stáhnout obsah aplikace. V potvrzovacím poli, které se zobrazí, vyberte Stáhnout.

  4. Po zobrazení výzvy vyberte Uložit jako, přejděte do požadované místní složky a výběrem možnosti Uložit soubor ZIP uložte.

  5. Extrahujte soubor zip.

  6. V editoru Visual Studio Code otevřete složku, která obsahuje rozbalené soubory.

    Když složku otevřete, Visual Studio Code automaticky vytvoří pracovní prostor.

  7. Upravte obsah složky tak, aby zahrnoval pouze složky a soubory potřebné k nasazení pomocí DevOps.

  8. Až skončíte, uložte změny.

Sestavení a nasazení aplikace logiky (nasazení zip)

Kanály buildu a verze můžete nastavit buď uvnitř Azure, nebo mimo azure, které nasazují standardní aplikace logiky do vaší infrastruktury.

Sestavení projektu

  1. Nasdílejte projekt aplikace logiky Standard a soubory artefaktů do zdrojového úložiště, například GitHub nebo Azure DevOps.

  2. Nastavte kanál buildu na základě typu projektu aplikace logiky provedením následujících odpovídajících akcí:

    Typ projektu Popis a kroky
    Na základě Nugetu Struktura projektu založená na NuGetu je založená na rozhraní .NET Framework. Pokud chcete tyto projekty sestavit, nezapomeňte postupovat podle kroků sestavení pro .NET Standard. Další informace najdete v dokumentaci k vytvoření balíčku NuGet pomocí nástroje MSBuild.
    Založené na sadách Projekt založený na sadě rozšíření není specifický pro jazyk a nevyžaduje žádné kroky sestavení specifické pro jazyk.
  3. Soubory projektu zazipujte libovolnou metodou, kterou chcete.

    Důležité

    Ujistěte se, že soubor ZIP obsahuje skutečné artefakty sestavení projektu na kořenové úrovni, včetně všech složek pracovních postupů, konfiguračních souborů, jako jsou host.json, connections.json, local.settings.json a dalších souvisejících souborů. Nepřidávejte žádné další složky ani neukládejte žádné artefakty do složek, které ještě ve struktuře projektu neexistují.

    Například následující seznam ukazuje příklad struktury souborů MyBuildArtifacts.zip :

    MyStatefulWorkflow1-Folder
    MyStatefulWorkflow2-Folder
    connections.json
    host.json
    local.settings.json
    

Před vydáním do Azure

Spravovaná připojení rozhraní API v souboru connections.json projektu aplikace logiky se vytvářejí speciálně pro místní použití v editoru Visual Studio Code. Než budete moct vydat artefakty projektu z editoru Visual Studio Code do Azure, musíte tyto artefakty aktualizovat. Pokud chcete používat spravovaná připojení rozhraní API v Azure, musíte aktualizovat jejich metody ověřování, aby byly ve správném formátu pro použití v Azure.

Aktualizace typu ověřování

Pro každé připojení spravovaného rozhraní API, které používá ověřování, musíte aktualizovat authentication objekt z místního formátu v editoru Visual Studio Code na formát webu Azure Portal, jak je znázorněno v příkladech prvního a druhého kódu:

Formát editoru Visual Studio Code

{
   "managedApiConnections": {
      "sql": {
         "api": {
            "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/sql"
         },
         "connection": {
            "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ase/providers/Microsoft.Web/connections/sql-2"
         },
         "connectionRuntimeUrl": "https://xxxxxxxxxxxxxx.01.common.logic-westus.azure-apihub.net/apim/sql/xxxxxxxxxxxxxxxxxxxxxxxxx/",
         "authentication": {
            "type": "Raw",
            "scheme": "Key",
            "parameter": "@appsetting('sql-connectionKey')"
         }
      }
   }
}

Formát webu Azure Portal

{
   "managedApiConnections": {
      "sql": {
         "api": {
            "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/sql"
         },
         "connection": {
            "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/ase/providers/Microsoft.Web/connections/sql-2"
         },
         "connectionRuntimeUrl": "https://xxxxxxxxxxxxxx.01.common.logic-westus.azure-apihub.net/apim/sql/xxxxxxxxxxxxxxxxxxxxxxxxx/",
         "authentication": {
            "type": "ManagedServiceIdentity",
         }
      }
   }
}

Vytvoření připojení rozhraní API podle potřeby

Pokud nasazujete aplikaci logiky Standard do oblasti Azure nebo předplatného, které se liší od místního vývojového prostředí, musíte před nasazením také vytvořit tato spravovaná připojení rozhraní API. Nasazení šablony Azure Resource Manageru (šablony ARM) je nejjednodušší způsob, jak vytvořit spravovaná připojení rozhraní API.

Následující příklad ukazuje definici prostředku prostředku připojení spravovaného rozhraní API SQL v šabloně ARM:

{
   "type": "Microsoft.Web/connections",
   "apiVersion": "2016–06–01",
   "location": "[parameters('location')]",
   "name": "[parameters('connectionName')]",
   "properties": {
      "displayName": "sqltestconnector",
      "api": {
         "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/{Azure-region-location}/managedApis/sql"
      },
      "parameterValues": {
         "authType": "windows", 
         "database": "TestDB",
         "password": "TestPassword",
         "server": "TestServer",
         "username": "TestUserName"
      }
   }
}

Pokud chcete najít požadované hodnoty objektu properties , abyste mohli dokončit definici prostředku připojení, použijte pro konkrétní konektor následující rozhraní API:

GET https://management.azure.com/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region-location}/managedApis/{connector-name}?api-version=2016-06-01

V odpovědi vyhledejte connectionParameters objekt, který obsahuje potřebné informace k dokončení definice prostředku pro daný konkrétní konektor. Následující příklad ukazuje ukázkovou definici prostředku pro spravované připojení SQL:

{
   "type": "Microsoft.Web/connections",
   "apiVersion": "2016–06–01",
   "location": "[parameters('location')]",
   "name": "[parameters('connectionName')]",
   "properties": {
      "displayName": "sqltestconnector",
      "api": {
         "id": "/subscriptions/{Azure-subscription-ID}/providers/Microsoft.Web/locations/{Azure-region-location}/managedApis/sql"
      },
      "parameterValues": {
         "authType": "windows",
         "database": "TestDB",
         "password": "TestPassword",
         "server": "TestServer",
         "username": "TestUserName"
      }
   }
}

Alternativně můžete zaznamenat a zkontrolovat trasování sítě při vytváření připojení pomocí návrháře pracovního postupu v Azure Logic Apps. PUT Vyhledejte volání, které se odešle do rozhraní API spravovaného konektoru, jak bylo popsáno dříve, a zkontrolujte text žádosti o všechny potřebné informace.

Definice prostředku místní brány dat

Pokud vaše připojení používá prostředek místní brány dat, existuje tato definice prostředku odděleně od definice prostředku konektoru. Pokud chcete zobrazit definici prostředku brány dat, přečtěte si téma Automatizace nasazení pro Azure Logic Apps pomocí šablon Azure Resource Manageru a Microsoft.Web connectionGateways.

Vydání do Azure

Pokud chcete nastavit kanál verze, který se nasadí do Azure, postupujte podle přidružených kroků pro GitHub, Azure DevOps nebo Azure CLI.

Pro nasazení GitHubu můžete aplikaci logiky nasadit pomocí GitHub Actions, například GitHub Actions ve službě Azure Functions. Tato akce vyžaduje, abyste prošli následujícími informacemi:

  • Název aplikace logiky, který se má použít pro nasazení
  • Soubor ZIP, který obsahuje vaše skutečné artefakty sestavení, včetně všech složek pracovních postupů, konfiguračních souborů, jako jsou host.json, connections.json, local.settings.json a všechny další související soubory.
  • Váš profil publikování, který se používá k ověřování
- name: 'Run Azure Functions Action'
  uses: Azure/functions-action@v1
  id: fa
  with:
   app-name: 'MyLogicAppName'
   package: 'MyBuildArtifact.zip'
   publish-profile: 'MyLogicAppPublishProfile'

Další informace najdete v tématu Průběžné doručování pomocí GitHub Action.

Po nasazení do Azure

Každé připojení rozhraní API má zásady přístupu. Po dokončení nasazení souboru ZIP musíte na webu Azure Portal otevřít prostředek aplikace logiky Standard a vytvořit zásady přístupu pro každé připojení rozhraní API, abyste nastavili oprávnění pro nasazenou aplikaci logiky. Nasazení souboru ZIP pro vás nevytvoří nastavení aplikace. Po nasazení musíte tato nastavení aplikace vytvořit na základě souboru local.settings.json v projektu aplikace logiky.

Rádi bychom se dozvěděli o vašich zkušenostech s Azure Logic Apps s jedním tenantem.