After a successful build, the build artifacts are generated inside target/ sub-directories within individual module directories and the ZIP installers for GoCD Server and GoCD Agent are generated inside installers/target/distributions/zip/.

You'll then want to set the Python environment variable:
SETX PYTHON \path\to\python\python.exe [Note: by default the path is c:\python27\python.exe]

Also ensure that your JAVA_HOME environment variable is pointing to the 64-bit version (i.e. it is in "Program Files" and not "Program Files (x86)")

2.1.2 Setup IntelliJ

If you have IntelliJ IDEA configured, you can, optionally, use it to build GoCD.

Prior to build via the IDE, we would have to prepare the working directory by copying the database deltas to the
configured location. You can achieve this by running the following command in the working directory:

~/projects/go$ ./gradlew clean prepare

After the preparation phase has succeeded, open the project in IDEA

2.1.3 Running Development Server via IntelliJ IDEA

When developing using IntelliJ IDEA, it is always convenient to run the GoCD Server in development mode. Apart from the convenience, you also get

Live debugging

Faster feedback

Hot-swapping changes while the JVM is up

The IDEA Application run-configuration can be setup using the values below:

Navigate to "server>server_test" and right-click to add "JRuby" (select the right jruby version). Then right click to add "JRuby on Rails"

Configure the default RSpec run configuration

Open Run -> Edit configurations...

Open the Defaults section and select RSpec in the listing

Check the Use custom RSpec runner script checkbox

Select rspec from <project-directory>/server/scripts/jruby/rspec

Set the working directory to <project-directory>/server/webapp/WEB-INF/rails

Set the Ruby SDK option to Use other SDK and 'rspec' gem with the dropdown set to the correct version of JRuby that you configured above jruby-9.2.0.0

Click Apply to save

Open a spec file and run it Run -> Run 'somefile_spec.rb', or Ctrl+Shift+F10

2.1.7 Running integration tests from IntelliJ

While unit tests (those which don't use Spring autowiring) can be run directly from IntelliJ using the default JUnit runner, integration tests need to be run using IntelliJ's Gradle runner. The setup for this involves setting the Gradle runner up as shown below:

When running an integration test, you'll need to pick the Gradle runner instead of the JUnit runner, as shown below:

2.1.8 Working on single page apps

If you're working on some of the new pages in GoCD (pipeline config, agents, elastic profiles...). This will watch your filesystem for any JS changes you make and keep compiling the JS in the background. This usually takes a couple of seconds to compile, after you hit save.