Exercise - Deploy a solution through a pipeline

Completed

In this exercise, you practice the end-to-end solution deployment lifecycle at Zava. You create a managed solution with a custom publisher, add components, configure environment variables and connection references for portability, validate the solution by using solution checker, and deploy it from development to test by using a preconfigured Power Platform Pipeline.

This exercise takes approximately 40 minutes to complete.

Note

This exercise requires a lab environment with three Dataverse environments (Development, Test, and Production) and a Power Platform Pipeline already configured by your lab administrator. The pipeline links the Development environment as the source and the Test environment as the target stage.

Prerequisites

To complete this exercise, you need:

  • A Power Platform tenant with administrator or environment-maker permissions on the Development environment
  • Three pre-provisioned environments: Zava Dev, Zava Test, and Zava Prod (with Dataverse enabled)
  • A Power Platform Pipeline preconfigured in the Pipeline Host environment with Zava Dev as the source and Zava Test as the first deployment stage
  • Access to Power Apps and the Power Platform admin center

Create a custom publisher and solution

Before packaging components for deployment, create a custom publisher that identifies your organization. By using a custom publisher instead of the default publisher, you ensure a consistent prefix across all components and avoid naming conflicts when you import the solution into other environments.

  1. Open a browser and go to Power Apps.

  2. In the upper-right corner, make sure you're in the Zava Dev environment. If not, select the environment picker and switch to Zava Dev.

  3. In the left navigation, select Solutions.

  4. On the command bar, select New solution.

  5. Before entering the solution details, select + New publisher under the Publisher dropdown.

  6. In the New publisher panel, enter the following values:

    Setting Value
    Display name Zava
    Name zava
    Prefix zava
  7. Select Save.

  8. Return to the New solution dialog and configure the following values:

    Setting Value
    Display name Zava Pay Expense Tracking
    Name ZavaPayExpenseTracking
    Publisher Zava (zava)
    Version 1.0.0.0
  9. Select Create.

You see the Zava Pay Expense Tracking solution in the solutions list with the zava publisher prefix.

Add components to the solution

A solution must contain at least one component to be deployable. Add a custom table that tracks expense claims for Zava Pay.

  1. In the Solutions list, select Zava Pay Expense Tracking to open it.

  2. Select + New on the command bar, and then select Table > Table.

  3. In the New table panel, configure the following settings:

    Setting Value
    Display name Expense Claim
    Plural name Expense Claims
    Description Tracks expense claims submitted by Zava Pay employees
  4. Expand Advanced options and make sure that Type is set to Standard.

  5. Select Save.

  6. After the table is created, add a custom column. In the Expense Claim table view, select + New column.

  7. Configure the column:

    Setting Value
    Display name Amount
    Data type Currency
    Required Business required
  8. Select Save.

  9. Select + New column again and add a second column:

    Setting Value
    Display name Status
    Data type Choice
    Choices Add: Submitted, Approved, Rejected
  10. Select Save.

Important

Always build components inside the solution context (not from the default environment view) to ensure the solution automatically tracks them.

Configure an environment variable

Environment variables make your solution portable by externalizing configuration values that differ between environments, such as URLs, feature flags, or service endpoints.

  1. Go back to the Zava Pay Expense Tracking solution. If needed, select the solution name in the breadcrumb.

  2. Select + New on the command bar, and then select More > Environment variable.

  3. In New environment variable, enter the following values:

    Setting Value
    Display name Approval Service URL
    Name zava_ApprovalServiceURL
    Data type Text
    Default value https://approvals-dev.zava.internal

    Note

    Use the Default value in development. When you deploy to Test and Production, an administrator sets the Current value to the environment-specific URL during import or through pipeline deployment settings.

  4. Select Save.

Add a connection reference

Connection references decouple connector authentication from the solution. This authentication method allows each environment to use its own credentials without modifying the solution package.

  1. In the Zava Pay Expense Tracking solution, select + New on the command bar, and then select More > Connection reference.

  2. In New connection reference, configure the following settings:

    Setting Value
    Display name Zava Approvals Connector
    Connector Search for and select Microsoft Dataverse
  3. Under Connection, select + New connection.

  4. When the authentication prompt appears, sign in with your lab credentials and select Create.

  5. After the connection is created, it appears selected in the Connection dropdown. Select Create to save the connection reference.

The connection reference now appears in your solution's component list.

Run solution checker

Solution checker validates your solution against best practices, performance rules, and supportability guidelines. Running it before deployment helps you catch problems early.

  1. Go back to the Solutions list by selecting Solutions in the left navigation.

  2. Locate Zava Pay Expense Tracking in the list. Select the ... (more actions) menu next to the solution name.

  3. Select Solution checker > Run.

  4. Wait for the checker to complete. The Solution check column updates to show the status.

    Note

    Solution checker might take one to two minutes to complete. Refresh the page if the status doesn't update automatically.

  5. After the check finishes, select the result link in the Solution check column to review findings.

  6. Review the results:

    • Critical and High issues should be resolved before deployment.
    • Medium and Low issues are recommendations for improvement.
      • For this exercise, a new table with basic columns shouldn't return any critical issues.
  7. Close the results panel.

Tip

In a production workflow, enforce a policy that all solutions pass solution checker with zero critical issues before pipeline deployment is approved.

Deploy the solution by using Power Platform pipelines

Power Platform pipelines provide a governed in-product deployment experience that moves solutions between environments without manual export/import steps. Your lab environment has a pipeline preconfigured with Zava Dev as the source and Zava Test as the target stage.

  1. In the Solutions list, select Zava Pay Expense Tracking to open the solution.

  2. On the command bar, select Overview in the left panel (if not already selected).

  3. Locate the Deploy section or select the Pipelines button on the command bar.

    Note

    If you don't see a Pipelines option, your administrator may need to share the pipeline with your user account. In a lab environment, the pipeline should already be shared with your account. If the option is missing, verify with your instructor.

  4. In the Deploy panel, you should see the preconfigured pipeline with Zava Test as the next stage.

  5. Select Next (or Deploy to Test, depending on the UI version).

  6. On the deployment configuration screen, review the settings:

    • Environment variable values - If prompted, set the Approval Service URL current value for the Test environment. Enter: https://approvals-test.zava.internal
    • Connection references - If prompted, map the Zava Approvals Connector to an existing connection in the Test environment (or leave the default if automapped).
  7. Select Deploy.

  8. Monitor the deployment progress. The status should move through Validating > Deploying > Succeeded.

    Note

    Deployment typically takes 1–3 minutes. If the deployment fails, select the run to view error details and retry after addressing the issue.

Verify the deployment in the target environment

  1. In the upper-right corner, select the environment picker and switch to Zava Test.
  2. In the left navigation, select Solutions.
  3. Locate Zava Pay Expense Tracking in the list. Confirm:
    • The solution is listed with the type Managed.
    • The version number matches 1.0.0.0.
    • The publisher shows Zava.
  4. Select the solution and verify the Expense Claim table, the Approval Service URL environment variable, and the Zava Approvals Connector connection reference are all present.

Success criteria

  • A custom publisher named Zava with prefix zava exists in the Development environment.
  • The Zava Pay Expense Tracking solution contains a table, an environment variable, and a connection reference.
  • Solution checker completed successfully with no critical issues.
  • The solution was deployed to the Test environment via Power Platform pipelines.
  • The managed solution is visible and intact in the Test environment.