Prepstellar

DP-700 · Workspace Lifecycle Management

30 cards

Create Deployment Pipelines

Swipe, scroll or use ← →
  1. Define the pipeline structure

    A deployment pipeline moves content between environments in a controlled way. The deployment process lets you clone content from one stage in the deployment pipeline to another, typically from development to test, and from test to production. Each stage holds one workspace, so creating a pipeline means deciding the stages first and filling them afterwards.

    You can create a pipeline from the deployment pipelines entry point in Fabric, or from a specific workspace. If you create a pipeline from a workspace, the workspace is automatically assigned to the pipeline.

    When you create a pipeline, you define how many stages it should have and what they should be called. By default, the pipeline has three stages named Development, Test, and Production. You can accept these default stages or change the number of stages and their names. A pipeline can have anywhere between 2 and 10 stages.

    1 / 30
  2. Define the pipeline structure

    The structure is a one-time decision. In the creation dialog you can add another stage, delete stages, or rename them. After that, the number of stages and their names are permanent and can't be changed. So agree on the list of stages, and on what each one is called, before you select Create.

    Decision Rule
    Number of stages From 2 to 10, with 3 as the default
    Stage names Development, Test, and Production by default, editable only while you create the pipeline
    After creation Number and names are fixed

    A team that later wants one more stage, for example a pre-production stage between Test and Production, cannot add it to the existing pipeline.

    2 / 30
  3. Quick check

    A pipeline has the stages Development, Test, and Production. A year later the team wants the Test stage to be called QA. What applies?

    1. AA stage can be renamed at any time from its settings

      The stage settings hold the public status, which stays editable. The name is not editable there.

    2. BThe stage names were fixed when the pipeline was created

      Right. The number of stages and their names are permanent after creation, so a new name means a new pipeline.

    3. CA stage can be renamed once its workspace is unassigned

      Unassigning a workspace empties a stage. It does not unlock the structure of the pipeline.

    3 / 30

  4. Share the pipeline and choose public stages

    Access to a pipeline and access to the workspaces inside it are two different things. Pipeline permissions and workspace permissions are granted and managed separately.

    Pipelines only have one permission, Admin, which is required for sharing, editing, and deleting a pipeline. When you share a pipeline with others, they receive access to the pipeline and become pipeline admins. Pipeline access doesn't grant permissions to view or take actions on the workspace content. Microsoft 365 groups aren't supported as pipeline admins.

    A public stage controls what content consumers see. By default, the final stage of the pipeline is made public. A consumer of a public stage without access to the pipeline sees it as a regular workspace, without the stage name and the deployment pipeline icon next to the workspace name.

    You can have as many public stages as you want, or none at all. To change the public status of a stage at any time, go to the pipeline stage settings and check or clear the Make this stage public box. This is the one part of the structure that stays editable after the pipeline is created.

    4 / 30
  5. Quick check

    A pipeline is shared with a colleague who has no role in any of its workspaces. What can the colleague do?

    1. AEdit and share the pipeline, without seeing workspace content

      Right. Sharing makes the colleague a pipeline admin, and pipeline access gives nothing on the workspace content.

    2. BView the pipeline only, as sharing grants read access

      Pipelines have a single permission, Admin, so there is no read-only pipeline role to grant.

    3. CDeploy between stages, because sharing makes the colleague a pipeline admin

      The colleague is a pipeline admin, but deploying also needs a workspace role on the stages involved.

    5 / 30

  6. Assign a workspace to a stage

    A pipeline is empty until its stages have workspaces. Adding content to the pipeline is done by assigning a workspace to a pipeline stage, and you can assign a workspace to any stage. This is how a team that already has separate workspaces for each environment brings them under one pipeline.

    To assign a workspace, the pipeline stage has to be vacant. To assign a workspace to a stage that already has another workspace, unassign the current workspace from that stage and then assign the new one.

    Only workspaces that can be assigned to a deployment pipeline appear in the dropdown list. A workspace qualifies when all of these conditions apply:

    • You're an admin of the workspace.
    • The workspace isn't assigned to any other deployment pipeline.
    • The workspace resides on a Fabric capacity.
    • You have at least workspace contributor permissions for the workspaces in its adjacent stages.
    6 / 30
  7. Assign a workspace to a stage

    The permission to remember has two halves. Assigning a workspace to a stage requires pipeline admin and workspace admin of the workspace to be assigned.

    Unassigning has a cost. Whenever you unassign a workspace, you lose all of the stage's deployment history and its configured rules. Unassigning a workspace requires one of two roles: pipeline admin, or workspace admin through the Unassign Workspace API.

    If you try to delete a workspace from its workspace settings while it is assigned to a deployment pipeline, the deletion fails. To remove such a workspace, unassign it from the pipeline first and then remove it.

    7 / 30
  8. Quick check

    A pipeline admin is also an admin of a workspace that sits on a Fabric capacity. The workspace is missing from the list when the admin tries to assign it to the Test stage. Which cause fits?

    1. AThe Test stage is not a public stage

      Public status only changes what consumers see. It does not decide which workspaces can be assigned.

    2. BThe workspace holds items that are not paired yet

      Pairing is attempted when the workspace is assigned, so it cannot be a condition for assigning it.

    3. CThe workspace is already assigned to another pipeline

      Right. A workspace can be assigned to one deployment pipeline only, so it is not offered for a second one.

    8 / 30

  9. Keep your progress in the app

    That’s 3 of 12 quick checks. In the app they stay answered, and every lesson remembers where you left off.

    Opens in your browser. Nothing to install.

    Start studying

    On your phone, with the same account

    Get it on Google Play Download on the App Store
    Keep reading here
  10. Understand item pairing

    Pairing decides what a deployment overwrites, so it explains most surprises in a pipeline. Pairing is the process by which an item in one stage of the deployment pipeline is associated with the same item in the adjacent stage. When you deploy content from one stage to another, the items being copied from the source stage overwrite the paired item in the target stage. If items aren't paired, even if they have the same name and type, the item in the target stage isn't overwritten during a deploy.

    Pairing happens in one of two ways.

    1. At assignment. When a workspace is assigned to a deployment stage, the deployment pipeline attempts to pair items. The pairing criteria are item name, item type, and folder location, and the folder is used as a tie breaker when a stage contains two or more items with the same name and type.
    2. At deployment. When an unpaired item is copied from one stage to another using the Deploy button, a copy of the item is created in the next stage and paired with the item being deployed. A deploy of an unpaired item is known as a clean deploy.
    9 / 30
  11. Understand item pairing

    Two rules describe how pairing behaves over time.

    Pairing survives a rename. Once items are paired, renaming them doesn't unpair the items, so there can be paired items with different names. A later deployment therefore still goes to the renamed item, because it follows the pairing and not the name. On subsequent deployments, each deployed item overrides the metadata of its paired item, including its name if it was changed.

    Pairing is not created later by hand. Adding a new item to a workspace that's part of a pipeline doesn't automatically pair it to an identical item in an adjacent stage. There's no way to manually pair items except by following the pairing rules.

    Paired items appear on the same line in the pipeline content list, and items that aren't paired appear on a line by themselves. Read that list before a deployment: it tells you what will be overwritten.

    10 / 30
  12. Quick check

    Someone creates a notebook named Cleanup directly in the Test workspace. Development already has a notebook with that name. Are the two paired?

    1. ANo. Items added after assignment are not paired

      Right. Pairing happens at assignment or through a clean deploy, not when an item is added later.

    2. BYes. Pairing is recalculated whenever name and type match

      Name and type are checked when the workspace is assigned, not continuously afterwards.

    3. CYes, after an admin pairs the two manually in the content list

      There is no manual pairing. The content list only shows paired items on the same line.

    11 / 30

  13. Handle duplicate names

    Duplicate names are where assignment goes wrong, so it helps to know the exact outcomes.

    If a single item in each stage has the same name and type, then pairing occurs. If there's more than one item in a stage that has the same name and type, then items are paired if they're in the same folder.

    Take a report named Sales that sits in Folder A in Development, and a Test workspace that holds three reports named Sales.

    Report in Test Result at assignment
    Sales in Folder A Paired with the Development report
    Sales in Folder B Not paired
    Sales with no folder Not paired

    The folder breaks the tie: only the copy in Folder A is paired, and the other two stay as unpaired items.

    12 / 30
  14. Handle duplicate names

    The tie breaker cannot help when the folder is the same too. If two or more items in the workspace to be paired have the same name, type and folder, pairing fails. The fix is to move one item to a different folder or change its name, so that there are no longer two items that match an existing item in the other stage.

    Unpaired items with the same name also appear after assignment, when someone creates an item directly in a later stage. If items aren't paired, even if they have the same name, type, and folder, they don't overwrite on a deployment: a duplicate copy is created and paired with the item in the previous stage. For Power BI items the general limitations are stricter: when you deploy one for the first time and another item in the target stage has the same name and type, the deployment fails. In both descriptions the existing unpaired item is never overwritten, so create items in the first stage and let deployments carry them forward.

    13 / 30
  15. Quick check

    Assignment cannot pair a workspace because it holds two reports with the same name, in the same folder, that match a report in the other stage. What fixes it?

    1. AMake the target stage public first

      A public stage only changes what consumers see. It has no effect on pairing.

    2. BDeploy with the full option, which resolves duplicate names

      The deployment option does not change how items are paired at assignment.

    3. CMove one report to another folder, or rename it

      Right. Once the two reports differ in folder or name, only one of them matches the item in the other stage.

    14 / 30

  16. Deploy to an empty stage

    You do not need a workspace for every stage in advance. Every time you deploy to a vacant stage, a new workspace is created.

    The first time you deploy content, deployment pipelines checks if you have permissions. If you have permissions, the content of the workspace is copied to the stage you're deploying to, and a new workspace for that stage is created on the capacity. If you don't have permissions, the workspace is created but the content isn't copied.

    Deploying to an empty stage requires pipeline admin and source workspace contributor.

    Ownership. The deploying user automatically becomes the owner of the cloned semantic models, and the only admin of the new workspace. Permissions aren't copied during deployment, for a workspace or for a specific item.

    Data. After the deployment is complete, refresh the semantic models so that you can use the newly copied content. The semantic model refresh is required because data isn't copied from one stage to another.

    15 / 30
  17. Quick check

    A deployment to an empty stage runs for a user who lacks the permissions on the capacity. What is the result?

    1. ANothing is created, and the deployment is rejected

      The stage does get a workspace. Only the copy of the content is held back.

    2. BThe workspace is created, but the content is not copied

      Right. A capacity admin can then add the workspace to a capacity, and the content can be deployed later.

    3. CThe content is copied to the user's own workspace

      A deployment does not write to a workspace outside the pipeline. The new workspace belongs to the stage.

    16 / 30

  18. Choose full, selective, or backward deployment

    Deployment pipelines offer three options for deploying your content.

    • Full deployment deploys all your content to the target stage.
    • Selective deployment lets you select which content to deploy to the target stage.
    • Backward deployment deploys content from a later stage to an earlier stage in the pipeline.

    You can deploy content to any adjacent stage, in either direction. The backward direction has a condition. Currently, backward deployment is only possible when the target stage is empty, which means that it has no workspace assigned to it. Backward deployment is also only possible when deploying all the items, so you can't selectively deploy items backwards.

    That condition fits one common start. To create a pipeline from a production workspace, assign the workspace to the production stage and use backward deployment to deploy to the test stage, and then to the development stage.

    17 / 30
  19. Choose full, selective, or backward deployment

    Deploying into a stage that already has content follows the pairing. Once you have content in a pipeline stage, you can deploy it to the next stage even if the next stage workspace has content, and paired items are overwritten. New content is deployed as an addition to the content already there, and updated content replaces some of it. Items that don't exist in the source stage remain as is.

    To deploy content to another stage, at least one item must be selected. After you choose how to deploy your content, you can review your deployment and leave a note. You can review the deployment history to see the last time content was deployed to each stage.

    18 / 30
  20. Quick check

    Test holds a paired report, plus a dashboard that does not exist in Development. A full deployment runs from Development to Test. What happens in Test?

    1. ABoth items are overwritten

      Only paired items are overwritten, and the dashboard has no counterpart in the source stage.

    2. BThe report is overwritten and the dashboard is removed

      A deployment does not delete target items that are missing from the source stage.

    3. CThe report is overwritten, and the dashboard stays as it is

      Right. Paired items are overwritten, and items that do not exist in the source stage remain as they are.

    19 / 30

  21. Know what a deployment copies

    A deployment copies definitions, not everything you see in the workspace. Knowing the two lists tells you what the target stage looks like afterwards.

    During deployment, these item properties are copied and overwrite the item properties at the target stage: data sources, parameters, report visuals, report pages, dashboard tiles, model metadata, and item relationships. The overwrite operation only overwrites the content of the item: the item's ID, URL, and permissions remain unchanged.

    These item properties aren't copied during deployment: data, URL, ID, permissions, workspace settings, app content and settings, and personal bookmarks. Data isn't copied, only metadata is copied.

    These semantic model properties are also not copied: role assignment, refresh schedule, data source credentials, query caching settings, and endorsement settings. In the target stage, item properties that aren't copied remain as they were before deployment.

    A quick way to remember it: the definition of the item travels, while anything that belongs to the environment stays.

    20 / 30
  22. Quick check

    A report is deployed again to a stage where it already exists as a paired item. What happens to its URL and its permissions there?

    1. ABoth are replaced with the values of the source item

      URL and permissions are on the list of properties that are not copied.

    2. BBoth stay as they were in the target stage

      Right. The overwrite touches the content of the item, and its ID, URL, and permissions stay as they were.

    3. CThe URL remains, and the permissions are copied from the source

      Permissions are not copied either, for a workspace or for a single item.

    21 / 30

  23. Finish the first deployment by hand

    Because the environment settings do not travel, a first deployment leaves manual work in the target stage. The refresh of the semantic models is the first item. The gateway is the second.

    After the initial deployment, the gateway associated with the target item is not automatically mapped to the corresponding data source. You need to configure this mapping manually through the target item's settings page, and then verify that the data refresh completes successfully. Subsequent deployments do not alter or reset this gateway configuration.

    Apps are separate as well. The deployment process doesn't include updating the app content or settings, so you update the app manually in the required pipeline stage.

    Later deployments are gentler with data. Data in the target item, such as a semantic model or dataflow, is kept when possible. If there are no changes to an item that holds the data, the data is kept as it was before the deployment.

    With a small change such as adding or removing a table, Fabric in many cases keeps the original data. For breaking schema changes, or changes in the data source connection, a full refresh is required.

    22 / 30
  24. Quick check

    A semantic model in Production was deployed again after a column was renamed in a way that breaks its schema. What does the model need?

    1. AA full refresh

      Right. Data is kept when possible, but a breaking schema change requires a full refresh.

    2. BA new gateway mapping, which every deployment resets

      The gateway is mapped once after the initial deployment, and later deployments do not reset it.

    3. CNothing, because data in the target is always kept

      Data is kept for unchanged items and for many small changes, not for breaking schema changes.

    23 / 30

  25. Check the permissions for each action

    Plan access before the first release, because each action asks for a different combination. The lowest deployment pipeline permission is pipeline admin, and it's required for all deployment pipeline operations. A pipeline admin that isn't assigned a workspace role can view the pipeline and share it with others, but can't view the content of the workspace and can't perform deployments.

    Action Needed on top of pipeline admin
    Assign a workspace to a stage Admin of that workspace
    Deploy to an empty stage Contributor of the source workspace
    Deploy to a stage that has a workspace Contributor of both the source and the target workspace
    Compare two stages Contributor, member, or admin for both stages
    View deployment history Nothing more
    24 / 30
  26. Check the permissions for each action

    In words: To deploy items to the next stage, you must be a pipeline admin and a workspace contributor to both the source and target stages. Contributor is the minimum, so the member and admin roles also qualify. To deploy dataflows, you must also be the owner of the deployed item.

    Comparing two stages requires pipeline admin and workspace contributor, member, or admin for both stages. Viewing deployment history requires only pipeline admin. Creating a pipeline requires a user with a Pro, Premium Per User, or Premium license.

    Setting deployment rules has its own requirements, which belong to the configuration of a pipeline.

    25 / 30
  27. Quick check

    A pipeline admin with no workspace roles wants to see when Test was last deployed, and then compare Test with Production. What is possible?

    1. ABoth, because the pipeline admin permission covers every pipeline operation

      Pipeline admin is required for every operation, but for several of them it is not enough.

    2. BNeither, because both need a workspace role

      Viewing deployment history needs pipeline admin and nothing more.

    3. CThe history only. Comparing needs a workspace role on both stages

      Right. Comparing needs contributor, member, or admin on both stages, and the history needs only pipeline admin.

    26 / 30

  28. Respect the limits

    A few hard limits decide whether a deployment can run at all.

    • The maximum number of items that can be deployed in a single deployment is 300.
    • The deployment fails if any of the items have circular or self dependencies, for example when item A references item B and item B references item A.
    • Any item that isn't on the list of supported items isn't supported.
    • The workspace must reside on a Fabric capacity.

    The supported items include the lakehouse, notebook, environment, pipeline, Dataflow Gen2, copy job, warehouse, eventhouse, eventstream, KQL database, SQL database, and variable library. Some supported items are in preview, including the Power BI report and semantic model.

    A workspace with more than 300 items therefore needs more than one deployment, and selective deployment is the tool for splitting it.

    27 / 30
  29. Quick check

    A full deployment of a workspace with 420 supported items is planned. What should the team expect?

    1. AIt exceeds the limit of 300 items for a single deployment

      Right. One deployment carries at most 300 items, so the content has to be split with selective deployments.

    2. BIt runs, because the limit applies to selective deployment only

      The limit is for a single deployment, whichever option is used.

    3. CIt runs, because the limit is counted for each item type

      The limit is a total number of items in the deployment, not a number for each type.

    28 / 30

  30. Key takeaways

    • Structure: a pipeline has between 2 and 10 stages. Three stages named Development, Test, and Production are only the default.
    • Assignment: assigning a workspace needs pipeline admin plus admin of that workspace. Unassigning loses the stage's deployment history and its configured rules.
    • Pairing: at assignment, items are paired by name and type, with the folder as a tie breaker. A rename does not unpair items.
    • Empty stage: the deployment creates the workspace, the deploying user is its only admin, and the semantic models need a refresh because data is not copied.
    • Backward deployment: it is possible only when the target stage has no workspace, which is how you build a pipeline from an existing production workspace.
    • Not copied: data, permissions, and the refresh schedule of a semantic model. Map the gateway by hand after the first deployment.
    • Deploying to a stage with a workspace: it needs at least contributor on both the source and the target workspace.
    29 / 30
  31. Quick check

    Which statement about a first deployment to an empty stage is correct?

    1. AIt copies the data, so that the new stage is ready to use at once

      Only metadata is copied, which is why the semantic models need a refresh afterwards.

    2. BIt makes the deploying user the only admin of the new workspace

      Right. The new workspace has one admin, the user who deployed, until that user grants access to others.

    3. CIt copies the workspace roles of the source stage to the new workspace

      Permissions are not copied, so the roles of the source workspace do not appear in the new one.

    30 / 30

  32. 12 quick checks · then the test

    In the app, finishing the quick checks opens this lesson’s 10-question test, and the ones you miss come back exactly when you’re about to forget them.

    Take this lesson’s test → Next lesson: Configure Deployment Pipelines

    Opens in your browser. Nothing to install.

    Start studying

    On your phone, with the same account

    Get it on Google Play Download on the App Store

The whole course, on your computer and your phone

Lessons you can read, audio you can listen to on the way to work, and practice that remembers what you got wrong.

Opens in your browser. Nothing to install.

Start studying

On your phone, with the same account

Get it on Google Play Download on the App Store

“This app is the ‘One Lake’ for preparing the certification exams. Really worth it.”

Abdelhak Y. Google Play review