Sdílet prostřednictvím


Průvodce konfigurací nasazení

ALM Accelerator for Power Platform používá konfigurační soubory ve formátu JSON k automatizaci nasazení vašich řešení. Nastavují odkazy na připojení, proměnné prostředí a oprávnění, sdílení aplikací plátna a aktualizaci vlastnictví komponent řešení, jako jsou např. toky Power Automate, když jsou řešení nasazena na downstreamová prostředí.

Konfigurační soubory v tomto článku umožňují konfigurovat položky, které jsou specifické pro prostředí, do kterého je řešení nasazeno. Potřebné konfigurační soubory, a tedy i kroky, které musíte v tomto článku provést, závisí na komponentách, které vaše kanály řešení nasazují. Pokud například vaše řešení obsahuje pouze tabulky a modelem řízené aplikace Dataverse bez nutnosti konfigurace nebo dat pro jednotlivá prostředí, pak některé z těchto kroků můžete přeskočit.

Poskytli jsme příkladové konfigurační soubory v ALMAcceleratorSampleSolution nastavení nasazení a vlastní nastavení nasazení.

Než začnete

Tento článek je podrobným průvodcem ručním nastavením konfiguračních souborů nasazení. Poskytuje informace a kontext pro akce, které provádí aplikace ALM Accelerator a kanály, a slouží jako reference pro správce, kteří chtějí znát specifika každého kroku v procesu.

Doporučujeme vám však konfigurovat nastavení nasazení v aplikaci ALM Accelerator.

Vytvoření souboru JSON nastavení nasazení

Když je soubor customDeploymentSettings.json uložen do kořenového adresáře adresáře config, bude stejná konfigurace platit pro všechna prostředí. Za předpokladu používání úlohu kanálu transformace souborů nebo výměny tokenů pro informace, které se liší podle prostředí, můžete v proměnných kanálu zadat hodnoty specifické pro dané prostředí.

Můžete však také vytvářet soubory customDeploymentSettings.json specifické pro prostředí. Uložte je do podadresářů config, pojmenovaných pro vaše prostředí. Název adresáře odpovídat proměnné EnvironmentName, kterou jste vytvořili při nastavování kanálu pro ověřovací, testovací a produkční prostředí. Pokud neexistují žádná nastavení nasazení JSON a adresář pro konkrétní prostředí, kanály se vrátí ke konfiguraci v kořenovém adresáři adresáře config.

Snímek obrazovky hierarchie adresáře config.

Můžete také vytvářet konfigurační soubory specifické pro uživatele, např. adresář JohannaDev na předchozím obrázku. Vývojáři je mohou použít k výběru konkrétní konfigurace, když importují nespravovaná řešení ze správy zdrojového kódu.

Soubor JSON nastavení nasazení se používá ke konfiguraci odkazů na připojení a proměnných prostředí.

{
    "EnvironmentVariables": [
        {
            "SchemaName": "cat_shared_sharepointonline_97456712308a4e65aae18bafcd84c81f",
            "Value": "#{environmentvariable.cat_shared_sharepointonline_97456712308a4e65aae18bafcd84c81f}#"
        },
        {
            "SchemaName": "cat_shared_sharepointonline_21f63b2d26f043fb85a5c32fc0c65924",
            "Value": "#{environmentvariable.cat_shared_sharepointonline_21f63b2d26f043fb85a5c32fc0c65924}#"
        },
        {
            "SchemaName": "cat_TextEnvironmentVariable",
            "Value": "#{environmentvariable.cat_TextEnvironmentVariable}#"
        },
        {
            "SchemaName": "cat_ConnectorBaseUrl",
            "Value": "#{environmentvariable.cat_ConnectorBaseUrl}#"
        },
        {
            "SchemaName": "cat_DecimalEnvironmentVariable",
            "Value": "#{environmentvariable.cat_DecimalEnvironmentVariable}#"
        },
        {
            "SchemaName": "cat_JsonEnvironmentVariable",
            "Value": "#{environmentvariable.cat_JsonEnvironmentVariable}#"
        },
        {
            "SchemaName": "cat_ConnectorHostUrl",
            "Value": "#{environmentvariable.cat_ConnectorHostUrl}#"
        }
    ],
    "ConnectionReferences": [
        {
            "LogicalName": "new_sharedsharepointonline_b49bb",
            "ConnectionId": "#{connectionreference.new_sharedsharepointonline_b49bb}#",
            "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_sharepointonline"
        },
        {
            "LogicalName": "cat_CDS_Current",
            "ConnectionId": "#{connectionreference.cat_CDS_Current}#",
            "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"
        }
    ]
}
  1. Zkopírujte výše uvedenou ukázku kódu JSON do nového souboru s názvem deploymentSettings.json.

  2. Uložte soubor do složky config v Git.

Snímek obrazovky se strukturou konfiguračních složek.

Vytváření JSON odkazu na propojení

Vlastnost ConnectionReferences v souboru customDeploymentConfiguration.json nastavuje odkazy na připojení ve vašem řešení poté, co je řešení importováno do prostředí. Kromě toho ConnectionReferences se používají k povolení toků po importu řešení na základě vlastníka připojení zadaného v proměnné.

  1. Vytvořte připojení ručně v cílových prostředích.

  2. Zkopírujte ID pro připojení.

    • Získejte logický název odkazu na připojení z komponenty odkazu na připojení ve vašem řešení.

      Snímek obrazovky s názvem schématu informací o připojení v řešení, zvýrazněný v deaktivovaném textovém poli pod popiskem Název.

    • Získejte ID připojení z adresy URL připojení po jeho vytvoření. Například pokud je adresa URL „https://.../connections/shared_commondataservice/9f66d1d455f3474ebf24e4fa2c04cea2/details“, ID připojení je 9f66d1d455f3474ebf24e4fa2c04cea2.

  3. Upravte soubor customDeploymentSettings.json a vložte ID do vlastnosti ConnectionReferences, jako v následujícím příkladu kódu:

    "ConnectionReferences": 
    [
            {
                "LogicalName": "new_sharedsharepointonline_b49bb",
                "ConnectionId": "#{connectionreference.new_sharedsharepointonline_b49bb}#",
                "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_sharepointonline"
            },
            {
                "LogicalName": "cat_CDS_Current",
                "ConnectionId": "#{connectionreference.cat_CDS_Current}#",
                "ConnectorId": "/providers/Microsoft.PowerApps/apis/shared_commondataserviceforapps"
            }
    ]
    
  4. Pokud používáte rozšíření Nahradit tokeny a přidáváte tokeny do své konfigurace jako v předchozím příkladu, otevřete kanál pro své řešení a poté vyberte Upravit>Proměnné.

  5. Na obrazovce Proměnné kanálu vytvořte připojení <connection_reference_logicalname>. V tomto příkladu se proměnná kanálu jmenuje connection.cat_CDS_Current.

  6. Nastavte hodnotu na ID připojení, které jste našli dříve.

  7. Chcete-li se ujistit, že hodnota nebude uložena jako prostý text, vyberte Uchovat tuto hodnotu v tajnosti.

V případě potřeby opakujte tyto kroky pro každé řešení a kanál, který vytvoříte.

Vytvoření JSON proměnné prostředí v konfiguračním souboru nasazení

Vlastnost EnvironmentVariables v souboru customDeploymentConfiguration.json nastavuje proměnné prostředí Dataverse ve vašem řešení poté, co je řešení importováno do prostředí.

Důležité

Při exportu řešení se správou zdrojového kódu se hodnoty proměnných prostředí exportují s řešením. To může být bezpečnostní riziko, když proměnné prostředí obsahují citlivé informace. Doporučujeme neukládat citlivé informace do proměnných prostředí. Jedním ze způsobů, jak zajistit, aby hodnoty proměnných prostředí nebyly řízeny zdrojem, je vytvořit řešení speciálně pro hodnoty proměnných prostředí ve vývojových prostředích a nastavit jejich hodnotu prostředí v tomto řešení. Tím se zabrání exportu hodnot během exportu řešení a jejich uložení do správy zdrojového kódu.

  1. Zkopírujte název schématu pro proměnnou prostředí z komponenty proměnná prostředí ve vašem řešení.

    Snímek obrazovky s názvem schématu proměnné prostředí v řešení, zvýrazněný v deaktivovaném textovém poli pod popiskem Název.

  2. Upravte soubor customDeploymentSettings.json a vložte název do vlastnosti EnvironmentVariables, jako v následujícím příkladu kódu:

    {
        "EnvironmentVariables": [
            {
                "SchemaName": "cat_TextEnvironmentVariable",
                "Value": "#{variable.cat_TextEnvironmentVariable}#"
            },
            {
                "SchemaName": "cat_DecimalEnvironmentVariable",
                "Value": "#{variable.cat_DecimalEnvironmentVariable}#"
            },
            {
                "SchemaName": "cat_JsonEnvironmentVariable",
                "Value": "{\"name\":\"#{variable.cat_JsonEnvironmentVariable.name}#\"}"
            }
        ]    
    }
    
  3. Pokud používáte rozšíření Nahradit tokeny a přidáváte tokeny do své konfigurace jako v předchozím příkladu, otevřete kanál pro své řešení a poté vyberte Upravit>Proměnné.

  4. Na obrazovce Proměnné kanálu vytvořte proměnnou kanálu pro každý token ve vaší konfiguraci, například variable.cat_TextEnvironmentVariable.

  5. Nastavte hodnotu proměnné prostředí pro toto prostředí.

  6. Chcete-li se ujistit, že hodnota nebude uložena jako prostý text, vyberte Uchovat tuto hodnotu v tajnosti.

V případě potřeby opakujte tyto kroky pro každé řešení a kanál, který vytvoříte.

Vytvoření vlastního souboru JSON nastavení nasazení

Vlastní soubor JSON nastavení nasazení obsahuje nastavení pro aktivaci toků jménem uživatele, určení vlastnictví toků, sdílení aplikací plátna se skupinami Microsoft Entra a vytváření týmů skupiny Dataverse po nasazení.

{
  "ActivateFlowConfiguration": [
    {
      "solutionComponentName": "DevOpsKitSampleFlow",
      "solutionComponentUniqueName": "0a43b549-50ed-ea11-a815-000d3af3a7c4",
      "activateAsUser": "#{activateflow.activateas.DevOpsKitSampleFlow}#"
    },
    {
      "solutionComponentName": "CallMeFromCanvasApp",
      "solutionComponentUniqueName": "71cc728c-2487-eb11-a812-000d3a8fe6a3",
      "activateAsUser": "#{activateflow.activateas.CallMeFromCanvasApp}#"
    },
    {
      "solutionComponentName": "GetEnvironmentVariables",
      "solutionComponentUniqueName": "d2f7f0e2-a1a9-eb11-b1ac-000d3a53c3c2",
      "activateAsUser": "#{activateflow.activateas.GetEnvironmentVariables}#"
    }
  ],
  "SolutionComponentOwnershipConfiguration": [
    {
      "solutionComponentType": 29,
      "solutionComponentName": "DevOpsKitSampleFlow",
      "solutionComponentUniqueName": "0a43b549-50ed-ea11-a815-000d3af3a7c4",
      "ownerEmail": "#{owner.ownerEmail.DevOpsKitSampleFlow}#"
    },
    {
      "solutionComponentType": 29,
      "solutionComponentName": "CallMeFromCanvasApp",
      "solutionComponentUniqueName": "71cc728c-2487-eb11-a812-000d3a8fe6a3",
      "ownerEmail": "#{owner.ownerEmail.CallMeFromCanvasApp}#"
    },
    {
      "solutionComponentType": 29,
      "solutionComponentName": "GetEnvironmentVariables",
      "solutionComponentUniqueName": "d2f7f0e2-a1a9-eb11-b1ac-000d3a53c3c2",
      "ownerEmail": "#{owner.ownerEmail.GetEnvironmentVariables}#"
    }
  ],
  "AadGroupCanvasConfiguration": [
    {
      "aadGroupId": "#{canvasshare.aadGroupId.DevOpsKitSampleCanvasApp}#",
      "canvasNameInSolution": "cat_devopskitsamplecanvasapp_c7ec5",
      "canvasDisplayName": "DevOpsKitSampleCanvasApp",
      "roleName": "#{canvasshare.roleName.DevOpsKitSampleCanvasApp}#"
    }
  ],
  "AadGroupTeamConfiguration": [
    {
      "aadGroupTeamName": "Sample Group Team Name",
      "aadSecurityGroupId": "#{team.samplegroupteamname.aadSecurityGroupId}#",
      "dataverseSecurityRoleNames": [
        "#{team.samplegroupteamname.role}#"
      ]
    }
  ]
}
  1. Zkopírujte výše uvedenou ukázku kódu JSON do nového souboru s názvem customDeploymentSettings.json.

  2. Uložte soubor do složky config v Git.

Snímek obrazovky se strukturou konfiguračních složek pro vlastní nastavení nasazení.

Vytvoření výchozího JSON proměnné prostředí ve vlastním konfiguračním souboru nasazení

Vlastnost DefaultEnvironmentVariables v customDeploymentConfiguration.json se používá v kanálu exportu k nastavení výchozích proměnných prostředí Dataverse ve vašem řešení, když je řešení exportováno a uloženo ve správě zdrojového kódu.

Poznámka:

Výchozí nastavení proměnných prostředí platí pouze v případě, že je kanál exportu nakonfigurován s proměnnou kanálu VerifyDefaultEnvironmentVariableValues = True.

  1. Zkopírujte název schématu pro proměnnou prostředí z komponenty proměnná prostředí ve vašem řešení.

    Snímek obrazovky s názvem schématu proměnné prostředí, zvýrazněný v deaktivovaném textovém poli pod popiskem Název.

  2. Upravte soubor customDeploymentSettings.json a vložte název do vlastnosti DefaultEnvironmentVariables, jako v následujícím příkladu kódu:

    {
      "DefaultEnvironmentVariables": [
        [ "cat_TextEnvironmentVariable", "#{defaultvariable.cat_TextEnvironmentVariable}#" ],
        [ "cat_DecimalEnvironmentVariable", "#{defaultvariable.cat_DecimalEnvironmentVariable}#" ],
        [ "cat_jsonEnvironmentVariable", "{\"name\":\"#{defaultvariable.cat_jsonEnvironmentVariable.name}#\"}" ]
      ]
    }
    
  3. Pokud používáte rozšíření Nahradit tokeny a přidáváte tokeny do své konfigurace jako v předchozím příkladu, otevřete kanál pro své řešení a poté vyberte Upravit>Proměnné.

  4. Na obrazovce Proměnné kanálu vytvořte proměnnou kanálu pro každý token ve vaší konfiguraci, například defaultvariable.cat_TextEnvironmentVariable.

V případě potřeby opakujte tyto kroky pro každé řešení a kanál, který vytvoříte.

Vytvoření JSON konfigurace aplikace plátna skupiny Microsoft Entra

Vlastnost AadGroupCanvasConfiguration v souboru customDeploymentConfiguration.json sdílí aplikace plátna ve vašem řešení se specifickými skupinami Microsoft Entra po importu řešení do prostředí.

  1. Zkopírujte ID pro aplikaci plátna a skupinu Microsoft Entra .

    • Název schématu pro aplikaci plátna získáte z komponenty aplikace plátna ve vašem řešení.

      Snímek obrazovky s názvem schématu popisku aplikace plátna, zvýrazněný v deaktivovaném textovém poli pod popiskem Název.

    • Získejte ID skupiny Microsoft Entra ze stránky Skupina na Azure Portal.

      Screenshot ID skupiny Microsoft Entra zvýrazněného v deaktivovaném textovém poli vedle popisku ID objektu.

  2. Upravte soubor customDeploymentSettings.json a vložte ID do vlastnosti AadGroupCanvasConfiguration, jako v následujícím příkladu kódu:

    {
      "AadGroupCanvasConfiguration": [
        {
          "aadGroupId": "#{canvasshare.aadGroupId}#",
          "canvasNameInSolution": "cat_devopskitsamplecanvasapp_c7ec5",
          "roleName": "#{canvasshare.roleName}#"
        }
      ]
    }
    

    roleName může být CanView, CanViewWithShare a CanEdit.

  3. Pokud používáte rozšíření Nahradit tokeny a přidáváte tokeny do své konfigurace jako v předchozím příkladu, otevřete kanál pro své řešení a poté vyberte Upravit>Proměnné.

  4. Na obrazovce Proměnné kanálu vytvořte proměnnou kanálu pro každý token ve vaší konfiguraci, například canvasshare.aadGroupId.

  5. Nastavte hodnotu na ID skupiny Microsoft Entra, se kterou musí být aplikace sdílena pro dané konkrétní prostředí.

  6. Chcete-li se ujistit, že hodnota nebude uložena jako prostý text, vyberte Uchovat tuto hodnotu v tajnosti.

V případě potřeby opakujte tyto kroky pro každé řešení a kanál, který vytvoříte.

Vytvoření JSON konfigurace týmu a skupiny Microsoft Entra

Vlastnost AadGroupTeamConfiguration v souboru customDeploymentConfiguration.json mapuje týmy a role Dataverse na skupiny Microsoft Entra ve vašem řešení poté, co je řešení importováno do prostředí.

Role zabezpečení musí být přidány do vašeho řešení, pokud nejsou ručně vytvořeny v cílovém prostředí. Na tým lze použít jednu nebo více rolí. Role poskytují oprávnění ke komponentám řešení vyžadovaným uživateli ve skupině.

  1. Název týmu Dataverse může být jakýkoli existující tým nebo nový tým, který má být vytvořen v Dataverse a mapován na skupinu Microsoft Entra po importování řešení.

  2. Role Dataverse mohou být role zabezpečení v Dataverse, které by byly aplikován na tým po importu řešení. Role musí mít oprávnění ke zdrojům požadovaným řešením, jako jsou tabulky a procesy.

  3. Získejte ID skupiny Microsoft Entra ze stránky Skupina na Azure Portal jako v předchozí části.

  4. Upravte soubor customDeploymentSettings.json a vložte JSON do vlastnosti AadGroupTeamConfiguration, jako v následujícím příkladu kódu:

    {
      "AadGroupTeamConfiguration": [
        {
          "aadGroupTeamName": "alm-accelerator-sample-solution",
          "aadSecurityGroupId": "#{team.aadSecurityGroupId}#",
          "dataverseSecurityRoleNames": [
            "ALM Accelerator Sample Role"
          ]
        }
      ]
    }
    
  5. Pokud používáte rozšíření Nahradit tokeny a přidáváte tokeny do své konfigurace jako v předchozím příkladu, otevřete kanál pro své řešení a poté vyberte Upravit>Proměnné.

  6. Na obrazovce Proměnné kanálu vytvořte proměnnou kanálu pro každý token ve vaší konfiguraci, například team.aadSecurityGroupId.

  7. Nastavte hodnotu na ID skupiny Microsoft Entra, kterou chcete přidružit k týmu v Dataverse.

  8. Chcete-li se ujistit, že hodnota nebude uložena jako prostý text, vyberte Uchovat tuto hodnotu v tajnosti.

V případě potřeby opakujte tyto kroky pro každé řešení a kanál, který vytvoříte.

Vytvoření JSON vlastnictví komponent řešení

Vlastnost SolutionComponentOwnershipConfiguration v souboru customDeploymentConfiguration.json přiřazuje vlastnictví komponenty řešení k uživatelům Dataverse po importu řešení do prostředí. Přiřazení vlastnictví je užitečné pro komponenty, jako jsou toky, které ve výchozím nastavení vlastní hlavní uživatel služby, když je řešení importováno kanálem a organizace je chtějí po importu znovu přiřadit.

Kromě toho se vlastnost SolutionComponentOwnershipConfiguration také aktivuje toky, které nemají žádné informace o připojení. Tok je aktivován zadaným uživatelem, když neexistují žádné informace o připojení, které tok aktivovaly.

Poznámka:

Aktuální kanál pouze implementuje možnost nastavit vlastnictví toků.

  1. Kód typu komponenty řešení je založen na typech komponent specifikovaných v referenci webového rozhraní API solutioncomponent EntityType. Například tok Power Automate je komponent typu 29. Typ komponenty musí být zadán jako celočíselná hodnota bez uvozovek.

  2. Jedinečný název součásti toku Power Automate získáte z rozbaleného řešení.

    Toky při vytváření nevyžadují jedinečné názvy. Jediným skutečným jedinečným identifikátorem toku je interní ID, které systém přiřazuje k řešení.

    Screenshot rozbaleného souboru XML pracovního postupu řešení.

    Screenshot rozbaleného řešení XML pracovního postupu zobrazující WorkflowId.

  3. E-mailovou adresu vlastníka získáte ze záznamu uživatele v Dataverse nebo Microsoft 365.

  4. Upravte soubor customDeploymentSettings.json a vložte JSON do vlastnosti AadGroupTeamConfiguration, jako v následujícím příkladu kódu:

    {
      "SolutionComponentOwnershipConfiguration": [
        {
          "solutionComponentType": 29,
          "solutionComponentUniqueName": "00000000-0000-0000-0000-00000000000",
          "ownerEmail": "#{owner.ownerEmail}#"
        },
        {
          "solutionComponentType": 29,
          "solutionComponentUniqueName": "00000000-0000-0000-0000-00000000000",
          "ownerEmail": "#{owner.ownerEmail}#"
        }
      ]
    }
    
  5. Pokud používáte rozšíření Nahradit tokeny a přidáváte tokeny do své konfigurace jako v předchozím příkladu, otevřete kanál pro své řešení a poté vyberte Upravit>Proměnné.

  6. Na obrazovce Proměnné kanálu vytvořte proměnnou kanálu pro každý token ve vaší konfiguraci, například owner.ownerEmail.

  7. Nastavte hodnotu na e-mailovou adresu vlastníka komponenty.

  8. Chcete-li se ujistit, že hodnota nebude uložena jako prostý text, vyberte Uchovat tuto hodnotu v tajnosti.

V případě potřeby opakujte tyto kroky pro každé řešení a kanál, který vytvoříte.

Import dat z vašeho kanálu

Můžete chtít do svého prostředí Dataverse po nasazení vašeho řešení do cílového prostředí importovat konfigurační nebo počáteční data. Kanály jsou nakonfigurovány pro import dat pomocí nástroje Migrace konfigurace dostupného přes NuGet. Další informace o správě konfiguračních dat.

Když jsou konfigurační data uložena do kořenového adresáře config, budou stejná konfigurační data nasazena pro všechna prostředí. Můžete vytvářet konfigurační datové soubory specifické pro dané prostředí. Uložte je do podadresářů config, pojmenovaných pro vaše prostředí. Název adresáře odpovídat proměnné EnvironmentName, kterou jste vytvořili při nastavování kanálu pro ověřovací, testovací a produkční prostředí. Pokud nebudou nalezena žádná konfigurační data a adresář pro konkrétní prostředí, kanály se vrátí ke konfiguračním datům v kořenovém adresáři adresáře config.

  1. Naklonujte úložiště Azure DevOps, kde má být vaše řešení řízeno zdrojem a kde jste vytvořili svůj kanál řešení YAML do místního počítače.

  2. Pokud jste to ještě neudělali, ve složce config ve složce řešení vytvořte adresář nazvaný config.

    Screenshot adresáře config v adresáři řešení v místním úložišti.

  3. Nainstalujte nástroj migrace konfigurace. Postupujte podle pokynů v části Stažení nástrojů z NuGet.

  4. Otevřete nástroj Migrace konfigurace, vyberte Vytvořit schéma a poté vyberte Pokračovat.

  5. Přihlaste se ke klientu, ze kterého chcete exportovat konfigurační data.

  6. Vyberte prostředí.

  7. Vyberte tabulky a sloupce, které chcete exportovat.

  8. Vyberte Uložit a exportovat. Uložte data do cesty k adresáři config\ConfigurationMigrationData ve vašem místním úložišti Azure DevOps ve složce řešení, do které mají být data importována.

    Poznámka:

    Po naimportování vašeho řešení kanál hledá tuto konkrétní složku pro spuštění importu. Ujistěte se, že název složky a její umístění jsou přesně takové, jaké jsou uvedeny zde.

  9. Po zobrazení výzvy k exportu dat vyberte Ano.

  10. Vyberte stejné umístění pro exportovaná data, vyberte Uložit a poté vyberte Export dat.

  11. Po dokončení exportu rozbalte soubory ze souboru data.zip do adresáře ConfigurationMigrationData. Smažte soubory data.zip a SampleData.xml.

    Screenshot dat migrace konfigurace rozbalených v adresáři ConfigurationMigrationData.

  12. Odešlete změny se svými daty do Azure DevOps.

Další kroky