Automatiser udrulninger med en udrulningsplan (forhåndsvisning)

En udrulningsplan forlænger en eksisterende API-anmodning. Det erstatter ikke API'ens standardflow. Tilføj en plan for at fastsætte varerækkefølgen. En plan kan også udføre handlinger før eller efter en genstand bliver udsendt. Den oprindelige anmodning sætter stadig kilde, mål og udvalgte elementer.

Vigtig

Denne funktion er i prøveversion.

Vælg en automatiseringsarbejdsgang

Start med automatiseringsguiden for din drift. Tilføj derefter inputtet fra udrulningsplanen fra denne artikel.

API, der accepterer en udrulningsplan Eksisterende automatiseringsvejledning
Opdatering fra Git Automatiser Git-integration ved hjælp af API'er
Udrul Stage Content Automatiser din deployment-pipeline med Fabric API'er
Definitioner af bulkimportvarer Fabric CI/CD med Bulk Import Item Definitions API

Uden en udrulningsplan fungerer hvert API som før.

Det er de API'er, der modtager deploymentPlan inputtet. Din arbejdsgang kan også kalde andre API'er for at forberede operationen eller tjekke dens status. Fortsæt med at bruge de understøttende API'er, som beskrevet i den eksisterende automatiseringsguide.

Forudsætninger

Før du tilføjer en plan:

  • Lav udrulningsplanen. Sørg for, at operationen kan løse det.
  • Få et Microsoft Entra adgangstoken. Brug det til Fabric API'en.
  • Sørg for, at opkalderen har de roller, som den oprindelige operation krævede.
  • Sørg for, at tokenet inkluderer den oprindelige operations omfang og Item.Execute.All.
  • Tilføj beta=true URL'en til operationen.

Tokenet skal indeholde disse scopes:

Operation Oprindeligt operationsområde Yderligere omfang, når en plan leveres
Opdater fra Git Workspace.GitUpdate.All Item.Execute.All
Udrul faseindhold Pipeline.Deploy eller DeploymentPipeline.Deploy.All Item.Execute.All
Definitioner af bulkimportvarer Item.ReadWrite.All Item.Execute.All

Kalderen har også brug for de roller, der er angivet i den oprindelige API-reference. Den samme reference oplister de identitetstyper, som API'et understøtter. En serviceprincipal eller managed identity fungerer kun, hvis alle elementer i operationen understøtter den.

Tilføj udrulningsplanen til en anmodning

For hver understøttet API:

  1. Tilføj beta=true til anmodnings-URL'en.
  2. Tilføj et deploymentPlan objekt inde i det eksisterende options objekt.
  3. Behold resten af anmodningen uændret.

Brug egenskaben med små bogstaver referenceType . Dens værdi er afhængig af små og små bogstaver.

Opdater et arbejdsområde fra Git

Brug planens logiske ID. Planen kan komme fra arbejdsområdet eller det indkommende Git-indhold. For en plan, der er gemt i Git, find det logiske ID i dens .platform fil.

For en API-drevet indledende synkronisering, kald først Initialize Connection . Hvis svaret kræver en opdatering, tilføj planen til følgende opdatering fra Git-anmodning. Initialize Connection accepterer ikke en deployeringsplan.

POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/git/updateFromGit?beta=true

Tilføj følgende objekt til opdatering fra Git-forespørgslen:

{
  "options": {
    "deploymentPlan": {
      "logicalId": "00000000-0000-0000-0000-000000000000",
      "referenceType": "ByLogicalId"
    }
  }
}

Behold workspaceHead, remoteCommitHash, konfliktløsning og de andre muligheder. Byg hele forespørgslen ved at bruge Git-automatiseringsguiden. Guiden viser også, hvordan man poller operationsstatus. Se Opdatering fra Git.

Udrul indhold mellem pipeline-stadier

Henvis til udrulningsplanen ud fra dens item-ID.

POST https://api.fabric.microsoft.com/v1/deploymentPipelines/{deploymentPipelineId}/deploy?beta=true

Tilføj følgende objekt til Deploy Stage Content-anmodningen:

{
  "options": {
    "deploymentPlan": {
      "itemId": "00000000-0000-0000-0000-000000000000",
      "referenceType": "ByItemId"
    }
  }
}

Behold kildestadiet, målstadiet, udvalgte genstande, udrulningsnote og andre muligheder. Byg hele forespørgslen ved at bruge deployment pipeline-guiden. Guiden viser også, hvordan man poller operationsstatus. Se Automatiser din implementeringspipeline med Fabric API'er.

Definitioner af importgenstande

Brug planens logiske ID. Find det i planens .platform fil.

POST https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/items/bulkImportDefinitions?beta=true

Tilføj udrulningsplanen til mulighederne for Bulk Import-anmodninger:

{
  "options": {
    "allowPairingByName": false,
    "deploymentPlan": {
      "logicalId": "00000000-0000-0000-0000-000000000000",
      "referenceType": "ByLogicalId"
    }
  }
}

Behold alle genstandsdefinitionsdele og importmuligheder. Byg hele anmodningen ved at bruge Bulk Import-tutorialen. Tutorialen viser også, hvordan man poller operationsstatus. Se Fabric CI/CD med Bulk Import Item Definitions API.

Forstå, hvad planen ændrer

Planen ændrer kun rækkefølgen og handlingerne. Det ændrer ikke de valgte elementer.

Anmod om input Hvad den kontrollerer
Oprindelig API-anmodning Kilde, mål, udvalgte genstande og driftsspecifikke indstillinger
Udrulningsplan Eksplicit varerækkefølge og handlinger før eller efter udrulning
Fabric-linje Afhængigheder, som Fabric opdager mellem udvalgte elementer

Udvalgte elementer uden for en udrulningsgruppe bruger operationens standardadfærd.

For hvordan anmodningens omfang, planrelationer, Fabric-linje og handlinger arbejder sammen, se Hvordan en implementeringsplan fungerer.

Valider anmodningen

Før du kører automatiseringen, skal du bekræfte, at:

  • URL'en inkluderer beta=true.
  • Tokenet inkluderer Item.Execute.All og den oprindelige operations omfang.
  • Objektet deploymentPlan er inde i options, ikke ved anmodningsroden.
  • referenceType Bruger den dokumenterede værdi og forstørrelse.
  • Vare-ID'et eller det logiske ID er ikke tomt eller misdannet.
  • Operationen kan løse planen i det relevante arbejdsområde eller indkommende indhold.
  • Plandefinitionen er gyldig og indeholder ikke en cirkulær afhængighed.

Operationen stopper, når validering, et element eller en handling fejler. Fabric ruller ikke færdigt arbejde tilbage.

Overvejelser og begrænsninger

Biblioteket fabric-cicd understøtter ikke udrulningsplaner. Brug opdatering fra git, deploy stage-indhold eller bulk import af itemdefinitioner, når du automatiserer en deployment med en plan.

For alle begrænsninger i udrulningsplanen, se Udrulningsplanovervejelser og begrænsninger.

Styr udrulningsplanpunktet

En udrulningsplan er et Fabric-element. Brug følgende Fabric REST API'er til at administrere det. Disse kald er adskilt fra udrulningsoperationen.

Opgave REST API
Opret en plan Opret udrulningsplan
Listplaner i et arbejdsområde Listepunkter
Få planejendomme Få genstand
Få planens definition Få genstandsdefinition
Opdatere planens egenskaber Opdateringsobjekt
Opdater planens definition Opdater Elementdefinition
Slet en plan Slet element

Definitionen af deployeringsplanen indeholder dele med en sti, Base64-nyttelast og InlineBase64 nyttelasttype.