Azure DevOps pipelines and databases
DevOps leaders prefer Docker SQL Server containers with database clones for Azure DevOps pipelines.
- Fresh databases for pipeline runs - Scale your pipeline runs with a separate writable database environments for each pipeline run. No need to restore databases, and reset environments.
- Reduced VM and instance sprawl - Avoid costly VMs and instances for DevOps pipelines. Instead, spin up a container with data for a pipeline run and delete it after the run completes.
- REST API, kubectl or docker - Use a REST API, kubectl or docker command in your pipeline to spin up the database environments.

Windocks delivers databases in containers for Azure DevOps pipelines
Windocks SQL Server containers, cloning and masking let you easily deploy databases to test and staging. Windocks orchestration allows you to combine all these into a single pipeline step without the need for you to write custom code. Simply provide a spec (in the form of a dockerfile) and Windocks will orchestrate the cloning, masking, containerization, production refresh services and abstract the deployment into a single pipeline step.
Steps to get started on DevOps pipelines and databases
1. Install Windocks
Download the Windocks Community Edition or email support@windocks.com for a full featured evaluation edition.
Provision a Windows Server VM (Server 2016, 2019, or 2022), install SQL Server (for SQL database delivery) and then install Windocks as described in the download docs.
For Oracle database delivery, also install the Windocks service for Linux as described here.
2. Create a dockerfile
Windocks images are created from a plain text dockerfile, with many samples available in the \Windocks\samples folder.
- the path to one or more SQL backup or database files, which are used to create a clonable database image
- where to deliver the database clones (Windocks SQL Server Windows containers or SQL Server instances)
- Organize scripts that will implement user permissions, data masking, or other steps
Build the image via a web application, command line or REST API.
3. Create the Yaml for the DevOps pipeline
Create a Yaml file with steps for the DevOps pipeline, with REST API calls to the Windocks server to create clones with containers. Email support@windocks.com for samples. Put in variable values in the Yaml for the IP / DNS for the server running Windocks, the as user name and password you want for the containers, the credentials for the Windocks server, and the image name from step 1.
4. Create the pipeline in Azure DevOps
In Azure DevOps UI, create a repository and push the pipeline Yaml to the repo. Then, create a pipeline pointing to the Yaml
5. Run the pipeline in Azure DevOps
Either manually run the pipeline in the UI or push to the repo to trigger a pipeline run. See the pipeline logs. The database clones are available in containers created by the pipeline running on the Windocks machine on different ports as specified in the Yaml.