- Install Vagrant (12.8.70 or later is recommended)
- Install Git
- Install VirtualBox (5.1 or later is recommended)
- Bash terminal program - Git Bash is adequate and is included with the Git installer - this is what will be used for these instructions. You can also use Cygwin, but it isn't as straightforward to use.
- When installing Git, make sure to select to check-out as-is and commit with Unix line endings in your install options.
- Recommended SSH key management: PuTTY, PuTTYgen, and Pageant
As of this writing, Vagrant 1.8.7 2.0 or later is the recommended version for building an XNAT VM on Windows. If you find any issues running the XNAT Vagrant project on Windows, please report them to email@example.com.
Download XNAT Vagrant
There are a couple different ways to get the XNAT Vagrant project.
|xnat-release||Downloads a pre-built war file that can be deployed directly into Tomcat without going through the build process. The download is saved into a folder on the host computer so subsequent deployments don't require downloading the files again. However, you should download a new version if a new one has been released!|
|xnat-dev||Maps a source code folder on the host computer to a folder inside the VM at /data/project/src/xnat.to build XNAT, where project is the name of the configured project (this is xnat by default; see below for information on changing the default settings).|
|xnat-latest||Downloads and builds the XNAT source code inside the VM itself. This is the slowest of the standard XNAT 1.7 configurations (although still not too slow). Using this configuration is an easy way to download and evaluate the latest XNAT source code. This can be useful for troubleshooting build errors: if you are experiencing errors building locally, comparing these error with the xnat-latest build can help narrow down potential issues.|
|xnat-system||Builds the XNAT VM and all dependencies but doesn't deploy a war.|
Builds a VM running a pre-built, pre-configured XNAT 1.6.5 system. This is useful for working with existing code that runs on 1.6.5 and hasn't been migrated to work with 1.7.x.