> For the complete documentation index, see [llms.txt](https://docs.parallels.com/landing/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.parallels.com/landing/pd-ag/parallels-desktop-enterprise-quick-start-guide/scenario-based-quick-start-blueprints/scenario-e-devops-and-automated-pipelines.md).

# Scenario E: DevOps & Automated Pipelines

### Who this fits

Build agents and automated pipelines that need a pinned, reproducible VM — not the latest image Microsoft happens to publish this month. The guest OS can be Windows or Linux; what matters here is that the image doesn't drift.

### Architecture at a glance

This scenario still uses the Management Portal, Golden Images, and Policies — same system as Scenarios A–C — but with **Deployment method** set to **VM image** instead of Declarative, and no Intune enrollment step. However your build Macs get Parallels Desktop installed (Jamf app catalog, manually, or by invitation email), once the installation activates against the pipeline's sublicense, the Portal pushes the assigned Golden Image the same way it does elsewhere.

{% hint style="warning" %}
**Attention**: If your build fleet includes Intel Macs, the latest version of Parallels Desktop 26 is the last release with Intel support. Plan your pipeline's Parallels Desktop version accordingly — those agents can't move to version 27 or later.
{% endhint %}

### Deployment method and why

**VM image**. Declarative deployment can pull the latest Windows Enterprise image from Microsoft, or a Custom ISO you supply yourself — but either way, it's Windows-guest only, so it's off the table for Linux build agents regardless of installation source. VM image is where Linux fleets go: build, sysprep (or the Linux equivalent), and upload the `.pvmp` yourself. You can host it on a direct URL, or through the Portal's Azure Storage integration (with more options to come) instead of managing your own download link. Either way, you're responsible for keeping the image patched and re-uploading a refreshed `.pvmp` and checksum on your own schedule — there's no automatic refresh like Declarative gets from Microsoft.

For Windows pipelines that want a pinned, reproducible build rather than whatever gets produced at first launch, VM image still gives you that full control: you decide what's baked in, sysprep it yourself, and nothing changes underneath you until you choose to re-upload.

Intune enrollment isn't part of this scenario: it's specific to Windows guests provisioned Declaratively and doesn't apply to VM image Golden Images generally — nor would it help for a Linux guest.

{% hint style="info" %}
**Note**: For build agents that don't need a visible virtual machine window, `prlctl set <vm_id> --startup-view headless` runs the machine headless. This is documented only as a CLI flag with no CI-specific guidance, so treat it as something to test rather than a turnkey feature.
{% endhint %}

### Management Portal policy settings

Create a policy for the build-agent/pipeline group with a Golden Image set to **VM image**, using the pinned image and checksum from Stage 2. Recommended settings for this group:

* **Security Controls**: Do not allow upgrading to the next major Parallels Desktop version · Do not allow removing provisioned VMs.
* **VM Settings**: Clipboard/Drag-and-drop: Disconnect · Disable sharing Mac folders with VM · Disable sharing VM apps with Mac · VM startup: Ready in background.

See [Stage 3: Management Portal & Remote Policy Setup](/landing/pd-ag/parallels-desktop-enterprise-quick-start-guide/end-to-end-implementation-stages-technical-workflow/stage-3-management-portal-and-remote-policy-setup.md) for how to create the policy, and the full comparison across scenarios.

### Role handoffs

* **Portal Admin** — creates the policy and Golden Image, applies the Security Controls above.
* **Build Infrastructure Admin** — builds, syspreps, and re-uploads the pinned VM image on its own patch schedule. (There's no Windows-Identity Admin role in this scenario, since there's no Intune enrollment step.)

### Verification

In the Management Portal, confirm the build agents' VMs show as provisioned from the correct Golden Image version. Run a pipeline job against a newly provisioned agent and confirm it boots the pinned image and completes successfully.

### Where to go next

See [Stage 1: Account, SSO & Licensing Configuration](https://github.com/Parallels-Corp/DI-OPS-prls-docs/tree/master/parallels-desktop/admin/end-to-end-implementation-stages-technical-workflow/stage-1-account-sso-and-licensing-configuration.md) for the pipeline group's sublicense setup, and [Stage 5: Day-2 Operations](https://github.com/Parallels-Corp/DI-OPS-prls-docs/tree/master/parallels-desktop/admin/end-to-end-implementation-stages-technical-workflow/stage-5-day-2-operations-monitoring-and-lifecycle-management.md) for keeping the pinned image patched over time.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.parallels.com/landing/pd-ag/parallels-desktop-enterprise-quick-start-guide/scenario-based-quick-start-blueprints/scenario-e-devops-and-automated-pipelines.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
