Giter Club home page Giter Club logo

vagrant-go's Introduction

vagrant-go

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

You probably want to read this blog post first. It explains motivation and even has some nice pictures of the repo in action.

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.

vagrant-go's People

Contributors

ikusalic avatar wendorf avatar

Watchers

Ryan L. Foster avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.