You probably want to read this blog post first. It explains motivation and even has some nice pictures of the repo in action.
You need to have the following installed to try out vagrant-go:
Install librarian-chef first. This dependency is specified in the
so run the following command:
Next, install recipes with librarian-chef:
Lastly, install vagrant-cachier plugin:
vagrant plugin install vagrant-cachier
If you want to have additional development tools installed (properly set up
Vim, Ruby & RVM, etc.) on all the machines, set the
true in the
Vagrantfile. This will significantly increase cluster setup
time, but it will happen only once. This feature is currently still
CONFIGURE_GO_EXAMPLES flag is set (default), Go will be configured
with some initial example settings.
Example pipelines and more will be configured. The pipelines can be triggered
with git push or manually. To do so, push something to
local bare git repository created in provisioning process.
All the interaction between host and VMs is happening through
directory on VMs that is shared folder for this repository on host (directory
To push current repository's master, run:
git push test-repo master
The pipelines demonstrate some of the capabilities of Go:
- triggering pipelines
- chaining pipelines
- managing artifacts
For more details, take a look at the pipelines themselves.
Setting up the cluster
To start the go cluster start the vagrant with:
When you run this command for the first time, it will probably take more time as it needs to download the CentOS box. This will only happen once.
After the previous command finishes, you log into the desired machine, e.g.:
vagrant ssh server
The go server is accessible at
Before you do anything else, do not forget to enable the agents under
tab in go web interface.
That's it, now you can play with your band new go cluster.
When the vagrant machines are running, access the go server at
When you want to temporary stop the cluster, execute
vagrant halt to stop it
vagrant up to start it up again (just booting up the instances, no
To learn more on how to use the Vagrant, check the vagrant-intro blog post.