Concourse Dev Setup

Join the mailing list

https://groups.google.com/forum/#!forum/concourse-devs

ATTENTION WINDOWS USERS:

Concourse does not work with the native command line environment in Windows. To get around this limitation, you should take the following steps beforehand:

  1. Install Cygwin (all tools)
  2. Open Cygwin and ran git config --global core.autocrlf false

This will get you setup to do development in an IDE and build changes locally using Gradle. If you want to run Concourse Server from the command line, you'll need to install Virtualbox and setup a free Centos Linux VM for that purpose.

Checkout the code

  • Fork the repo
  • Sync your fork to the main repo

Setup an IDE

Eclipse

Assumptions:

  • You have the Concourse git repository checked out on the filesystem.

Generate Eclipse metadata

$ ./gradlew clean eclipse

Turn off automatic building


Go to the Project menu and uncheck Build Automatically

Import the projects from Git

Go to File > Import > Git > Projects from Git

Choose "Local" repository

Browse for the Concourse repository on your filesystem 
Choose to import existing projects

Select all the concourse projects for import
Make sure that the concourse projects are visible in the Package Explorer

Import the launch configurations

Go to File > Import > Run/Debug > Launch Configurations

Browse for the launch configurations in concourse-server/launch and concourse-shell/launch
Make sure that the launch configurations show up in the Run menu as favorites

Run from the command line

For most testing, you can run Concourse Server and CaSH from Eclipse; however, you should check to see that all of your changes compile and build before committing major patches to the codebase. We use Gradle as the build system.

All these commands are run from the root of the Concourse repo.

$ ./gradlew clean build installer

If all goes well, you'll have a .bin file in the concourse-server/build/distributions directory

$ ls concourse-server/build/distributions | egrep bin
concourse-server-0.4.0.88-SNAPSHOT.bin

Then you can install Concourse Server by executing the .bin file

$ cd concourse-server/build/distributions/
$ sh concourse-server-0.4.0.88-SNAPSHOT.bin 
Creating directory concourse-server
Verifying archive integrity... All good.
Uncompressing Concourse Server..............................................................................
Please type your administrative password to allow the installer to make some (optional) system-wide changes.
Password:
[WARN] The installer was unable to place the Concourse scripts on your PATH, but you can run them directly from /Dropbox/Cinchapi/code/java/concourse/concourse-server/build/distributions/concourse-server/bin.

Then you can go the concourse-server/bin directory (within the distributions directory) and start Concourse Server

$ cd concourse-server/bin/
$ ./concourse console
Running Concourse Server...
wrapper  | --> Wrapper Started as Console
wrapper  | Java Service Wrapper Community Edition 64-bit 3.5.24
wrapper  |   Copyright (C) 1999-2014 Tanuki Software, Ltd. All Rights Reserved.
wrapper  |     http://wrapper.tanukisoftware.com
wrapper  | 
wrapper  | Launching a JVM...

jvm 1    | WrapperManager: Initializing...
jvm 1    |  _____
jvm 1    | /  __ \
jvm 1    | | /  \/ ___  _ __   ___ ___  _   _ _ __ ___  ___
jvm 1    | | |    / _ \| '_ \ / __/ _ \| | | | '__/ __|/ _ \
jvm 1    | | \__/\ (_) | | | | (_| (_) | |_| | |  \__ \  __/
jvm 1    |  \____/\___/|_| |_|\___\___/ \__,_|_|  |___/\___|
jvm 1    | 
jvm 1    | Copyright (c) 2013-2014, Cinchapi Software Collective, LLC. All Rights Reserved.
jvm 1    | The Concourse server has started

Windows