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
Účet Azure s aktivním předplatným. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet.
Standardní aplikace logiky, která se používá s vašimi nástroji a procesy DevOps.
Soubory artefaktů pro prostředek aplikace standardní logiky si můžete stáhnout z webu Azure Portal, nebo můžete použít projekt standardní aplikace logiky vytvořený pomocí editoru Visual Studio Code a rozšíření Azure Logic Apps (Standard) pro Visual Studio Code.
Portál: Stažený soubor ZIP obsahuje standardní soubory artefaktů aplikace logiky, jako jsou workflow.json, connections.json, host.json a local.settings.json. Viz Stažení souborů artefaktů aplikace logiky standardu z portálu.
Visual Studio Code: Pro cíl nasazení potřebujete prázdný prostředek standardní aplikace logiky na webu Azure Portal. Pokud chcete rychle vytvořit prázdný prostředek standardní aplikace logiky, přečtěte si téma Vytvoření pracovních postupů aplikací logiky založených na jednom tenantovi – portál.
Pokud nemáte existující aplikaci logiky nebo infrastrukturu, můžete pomocí propojených ukázkových projektů standardní aplikace logiky nasadit ukázkovou aplikaci logiky a infrastrukturu na základě toho, jestli chcete použít GitHub nebo Azure DevOps. Další informace o zahrnutých ukázkových projektech a prostředcích pro spuštění ukázkové aplikace logiky najdete v tématu Nasazení prostředků infrastruktury.
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:
Ukázka GitHubu pro Azure Logic Apps s jedním tenantem
Tato ukázka zahrnuje ukázkový projekt standardní aplikace logiky a příklady nasazení Azure a GitHub Actions.
Ukázka Azure DevOps pro Azure Logic Apps s jedním tenantem
Tato ukázka zahrnuje ukázkový projekt aplikace logiky Standard a příklady pro nasazení Azure a Azure Pipelines.
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:
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.
Na webu Azure Portal vyhledejte a otevřete prostředek aplikace logiky Standard.
V nabídce aplikace logiky vyberte Přehled.
Na panelu nástrojů Přehled vyberte Stáhnout obsah aplikace. V potvrzovacím poli, které se zobrazí, vyberte Stáhnout.
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.
Extrahujte soubor zip.
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.
Upravte obsah složky tak, aby zahrnoval pouze složky a soubory potřebné k nasazení pomocí DevOps.
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
Nasdílejte projekt aplikace logiky Standard a soubory artefaktů do zdrojového úložiště, například GitHub nebo Azure DevOps.
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. 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.
Související obsah
Rádi bychom se dozvěděli o vašich zkušenostech s Azure Logic Apps s jedním tenantem.
- V případě chyb nebo problémů vytvořte problémy na GitHubu.
- V případě dotazů, žádostí, komentářů a dalších názorů použijte tento formulář pro zpětnou vazbu.