System Center Virtual Machine Manager (SCVMM) Integration
Connect to a SCVMM server from Azure DevOps or Team Foundation Server to provision and manage your virtual machines from your SCVMM cloud or host group. Following are the available actions:
- Create, Restore and Delete a Checkpoint your Virtual Machines.
- Create New Virtual Machines using VM Templates, Stored VMs and VHDs and enable network virtualization.
- Save virtual machines as VM templates.
- Start, Stop Virtual Machines.
- Delete Virtual Machines
- Run custom PowerShell Script for SCVMM.
Usage
The extension installs the following components:
- A service connection for connecting to SCVMM Server.
- A task that is available in both build and release definitions to provision and manage your virtual machines from SCVMM. It uses the System Center VMM Console PowerShell commandlets to perform the actions.
Install System Center VMM console on the Automation Agent machine
To install VMM Console follow the instruction here
Supported versions: System Center 2012 R2 Virtual Machine Manager, System Center 2016 - Virtual Machine Manager
Create a SCVMM service endpoint
- Open the 'service connections' page in your Azure DevOps / Team Foundation Server Control Panel. In the New Service connection list, choose SCVMM.
- Enter the SCVMM Server Name (fully qualified domain name with port), and the username and password to access the SCVMM Server
Add SCVMM Task to your Build/Release definition
- Create new build or release pipeline and add the SCVMM task. The task can be found in the Deploy category of the Add Tasks section.
- To Create, Restore and Delete Checkpoint on your Virtual Machines fill in the task parameters as below:
- SCVMM Service Connection : Select the SCVMM service connection defined above from the drop down.
- Action : Select any one of the checkpoint actions among Create Checkpoint, Restore Checkpoint and Delete Checkpoint.
- Virtual Machines Name: Provide the name of the Virtual Machine or a comma separated list of the Virtual Machines, like FabrikamDevVM, FabrikamTestVM etc.
- Checkpoint Name: For 'Create CheckPoint', enter the name of the checkpoint that will be applied to the Virtual Machines. In case of 'Delete Checkpoint' or 'Restore Checkpoint' ensure that the Checkpoint name is valid.
- Description for Checkpoint: Provide the description you want for checkpoint.
- Select VMs From: You can scope the source for Virtual Machines from either SCVMM cloud or host machine.
- Host Name/Cloud Name: Based on the above selection you need to provide either a cloud name or host machine name.
- Create New Virtual Machines using VM Templates, Stored VMs and VHDs.
This action has two parts.
- (i) Creating Virtual Machines: You can create the set of virtual machines for your network. You can create VMs from VM templates, Stored VMs and VHDs and choose to deploy the VMs to cloud.
You can provide tags for your VM templates and create virtual machines out of it.
You can provide the environment tag to add for the created VMs like '$(BuildNumber)'.
- (ii) Adding network virtualization layer to the virtual machines:If you need to create a virtualization network for the VMs created above, you can create the VM network for Network virtualization, Boundary VM for communicating with TFS/VSTS and Active directory if required.
You can find more details about creating virtual machines and enabling network virtualization here.
- To Save Virtual Machines from template fill in the task parameters as below:
- SCVMM Service Connection : Select the SCVMM service connection defined above from the drop down.
- Action : Select Save virtual machines as templates action.
- Virtual Machines Name: Provide the name of the Virtual Machine or a comma separated list of the Virtual Machines, like FabrikamDevVM, FabrikamTestVM etc.
- VM template names: You can provide the names of the VM Templates or just leave it as blank which takes some random names for the created templates.
- VM Template Tag: You can provide the environment name with which the created VM templates will be tagged.
- Guest OS: You can provide the guest OS profile if you need to override the default profile.
- Library Server: Provide the library server for the storing the VM Templates.
- VM Template Storage path: Provide the storage location for the create VM templates.
- Cloud/Host Name: You can provide the Cloud/Host Name to select the VMs from.
- To Start, Stop your Virtual Machines fill in the task parameters as below:
- SCVMM Service Connection : Select the SCVMM service connection defined above from the drop down.
- Action : Select any one of the actions among Start Virtual Machine and Stop Virtual Machine.
- Virtual Machines Name: Provide the name of the Virtual Machine or a comma separated list of the Virtual Machines, like FabrikamDevVM, FabrikamTestVM etc.
- Select VMs From: You can scope the source for Virtual Machines from either SCVMM cloud or host machine.
- Host Name/Cloud Name: Based on the above selection you need to provide either a cloud name or host machine name.
- Wait Time: Wait time to get the virtual machine to ready state.
- To Delete your Virtual Machines fill in the task parameters as below:
- SCVMM Service Connection : Select the SCVMM service connection defined above from the drop down.
- Action : Select the action to delete Virtual Machines.
- Virtual Machines Name: Provide the name of the Virtual Machine or a comma separated list of the Virtual Machines, like FabrikamDevVM, FabrikamTestVM etc. Or you can choose the VM tag option to cleanup all the VMs with the provided environment tag.
- Select VMs From: You can scope the source for Virtual Machines from either SCVMM cloud or host machine.
- Host Name/Cloud Name: Based on the above selection you need to provide either a cloud name or host machine name.
- To run custom PowerShell Script for SCVMM fill in the task parameters as below:
- SCVMM Service Connection : Select the SCVMM service connection defined above from the drop down.
- Action : Select Run Powershell Script for SCVMM action.
- Script Path: Path of the PowerShell script to execute. Should be fully qualified path or relative to the default working directory
- Script Arguments: Arguments passed to the PowerShell script. Either ordinal parameters or named parameters
- Working folder: Current working directory when script is run. Defaults to the folder where the script is located.
For further information or to resolve issues, contact RM_Customer_Queries at Microsoft dot com.
Change Log
Version |
Date |
Details |
1.0.19 |
12/03/2019 |
Fix bug with publishing output variables of VM ids. |
1.0.18 |
12/03/2019 |
Publish VM Ids of Virtual Machines deployed as output variables. |
1.0.17 |
11/03/2019 |
Bug fix. Perform null check on VMNetwork property of Virtual Network adapter. |
1.0.16 |
07/03/2019 |
Added support for updating the Host file of the Boundary VM to resolve network issues. |
1.0.15 |
15/01/2019 |
Added support running the Boundary VM agent in interactive mode. |
1.0.10 |
16/11/2018 |
Added a new action: save vm as template and introduced Environment tags |
1.0.8 |
26/07/2018 |
Changed logic to detect hosted or on prem deployment |
1.0.7 |
06/07/2018 |
Add support for delete associated vm network with the delete vm action |
1.0.5 |
02/01/2018 |
Enabled support VM network virtualization. |
0.0.18 |
05/04/2017 |
Added support for System Center 2016 - Virtual Machine Manager. |
0.0.16 |
04/04/2017 |
Added support for Live Logs. |
0.0.13 |
13/02/2017 |
Added support for creating a new VM in SCVMM private cloud. Added user role support while connecting to SCVMM. |
0.0.11 |
05/05/2016 |
Introduced a wait option for new vm creation. Now one can specify wait time to get newly created machine in ready state. |
0.0.10 |
03/05/2016 |
Added suuport to set computer name for 'New Virtual Machine using Template' action. |
0.0.9 |
29/03/2016 |
Added support for Create 'New Virtual Machine using Template' and 'Run Powershell Script For SCVMM'. |
0.0.8 |
09/03/2016 |
Updated the read md file for extension. |
0.0.7 |
03/03/2016 |
Added support for Start, Stop virtual machines & bug fixes. |
0.0.4 |
02/18/2016 |
Added support for Create Checkpoint, and Delete Checkpoint. |
0.0.1 |
02/11/2016 |
Initial version with Restore Checkpoint action. |