This plugin provides an implementation of TeamCity cloud support for VMWare Player (TeamCity comes bundled with Amazon EC2 support).
It is meant to be both a useful tool for small teams and an example of the TeamCity cloud API usage.
The plugin allows launching one of pre-configured VMWare virtual machines based on the build queue on the TeamCity server.
The plugin has a server part (installed on the TeamCity server) and a client part (installed on each physical machine to run virtual machines). The client part communicates with the installed VMWare Player using the VMWare VIX API.
|Support for VMWare vSphere is coming in the future TeamCity versions. Please watch TW-35861|
Working proof-of-concept implementation.
- Install the plugin on TeamCity server.
- Open the TeamCity | Administration | Server Administration | Agent Cloud web UI page and create a cloud profile with "VMWare" type.
For each physical machine that should be able to run virtual images:
- Install the latest VMWare Player and latest VMWare VIX API. The installed VMWare player and VMWare VIX should have corresponding versions (the same build number). You can usually download the VIX API from VMWare Player download page.
- Download and unpack the TeamCity VMWare plugin client application: in the top right corner of the TeamCity web UI, click the arrow next to your username, and select My Settings and Tools.
- create a folder for virtual machines and create as many virtual machines as necessary
- ensure each virtual machine has the latest VMWare tools installed
- ensure each virtual machine has a TeamCity agent installed, and the agent is launched on the machine boot. See other agent requirements.
- start each virtual machine to ensure that there are no dialog boxes shown by VMWare player while the machine is starting.
- create the following configuration file for each machine named <something>-image-info.xml and put it into the directory containing vmware image directories:
VMWare Player may fail with a cryptic error if the path to an image contains subst drive
- start TeamCity VMWare client with:
|By default it allows running only one VM on a host machine. Use /maxInstances:<number> to change the default value.|
|It's a good idea to backup a virtual machine before running it with TeamCity to be able to revert the machine back to its initial state.|
|At the beginning TeamCity will start all your virtual machines to fetch agent information. You may stop your virtual machine from the TeamCity Clouds tab|
The plugin was tested with VMWare Player 3.0.1-227600 and VMware VIX 1.8.2-227600 on Windows
We do not guarantee support for the plugin, but will be happy to receive feedback on it.
Please note that TeamCity cloud API is still in development and it may change a lot in future TeamCity versions.