Skip to content
This repository has been archived by the owner on Mar 24, 2022. It is now read-only.
/ vagrant-go Public archive
forked from ikusalic/vagrant-go

Use Thoughtworks' go to manage continuous delivery pipelines via Vagrant

License

Notifications You must be signed in to change notification settings

vmware-archive/vagrant-go

 
 

Repository files navigation

vagrant-go

Use Thoughtworks' go to manage continuous delivery pipelines via Vagrant.

Requirements

You need to have the following installed to try out vagrant-go:

Installation

Install librarian-chef first. This dependency is specified in the Gemfile, so run the following command:

bundle install

Next, install recipes with librarian-chef:

librarian-chef install

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 INSTALL_DEV_TOOLS to true in the Vagrantfile. This will significantly increase cluster setup time, but it will happen only once. This feature is currently still experimental.

Go examples

If the 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 test-repo, the local bare git repository created in provisioning process.

All the interaction between host and VMs is happening through /vagrant directory on VMs that is shared folder for this repository on host (directory containing Vagrantfile).

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
  • etc.

For more details, take a look at the pipelines themselves.

Setting up the cluster

To start the go cluster start the vagrant with:

vagrant up

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 127.0.0.1:8153.

Before you do anything else, do not forget to enable the agents under agents tab in go web interface.

That's it, now you can play with your band new go cluster.

Usage

When the vagrant machines are running, access the go server at 127.0.0.1:8153.

When you want to temporary stop the cluster, execute vagrant halt to stop it and vagrant up to start it up again (just booting up the instances, no provisioning).

To learn more on how to use the Vagrant, check the vagrant-intro blog post.

About

Use Thoughtworks' go to manage continuous delivery pipelines via Vagrant

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 64.9%
  • Ruby 26.9%
  • Shell 8.2%