GithubHelp home page GithubHelp logo

burkeen / vagrant Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hashicorp/vagrant

0.0 2.0 0.0 10.26 MB

Vagrant is a tool for building and distributing working environments.

Home Page: http://www.vagrantup.com

License: MIT License

vagrant's Introduction

Vagrant

Vagrant is a tool for building and distributing development environments.

Vagrant provides the framework and configuration format to create and manage complete portable development environments. These development environments can live on your computer or in the cloud, and are portable between Windows, Mac OS X, and Linux.

Quick Start

First, make sure your development machine has VirtualBox installed. After this, download and install the appropriate Vagrant package for your OS. If you're not on Mac OS X or Windows, you'll need to add /opt/vagrant/bin to your PATH. After this, you're ready to go!

To build your first virtual environment:

vagrant init precise32 http://files.vagrantup.com/precise32.box
vagrant up

Note: The above vagrant up command will also trigger Vagrant to download the precise32 box via the specified URL. Vagrant only does this if it detects that the box doesn't already exist on your system.

Getting Started Guide

To learn how to build a fully functional rails development environment, view the getting started guide.

Installing the Gem from Git

If you want the bleeding edge version of Vagrant, we try to keep master pretty stable and you're welcome to give it a shot. The following is an example showing how to do this:

rake install

Contributing to Vagrant

Dependencies and Unit Tests

To hack on vagrant, you'll need bundler which can be installed with a simple gem install bundler. Afterwords, do the following:

bundle install
rake

This will run the unit test suite, which should come back all green! Then you're good to go!

If you want to run Vagrant without having to install the gem, you may use bundle exec, like so:

bundle exec bin/vagrant help

Acceptance Tests

Vagrant also comes with an acceptance test suite which runs the system end-to-end, without mocking out any dependencies. Note that this test suite is extremely slow, with the test suite taking hours on even a decent system. A CI will be setup in due time to run these tests automatically. However, it is still useful to know how to run these tests since it is often useful to run a single test if you're working on a specific feature.

The acceptance tests have absolutely zero dependence on the Vagrant source. Instead, an external configuration file must be used to give the acceptance tests some parameters (such as what Vagrant version is running, where the Vagrant vagrant binary is, etc.). If you want to run acceptance tests against source, or just want to see an example of this file, you can generate it automatically for the source code:

rake acceptance:config

This will drop an acceptance_config.yml file in your working directory. You can then run a specific acceptance test like so:

ACCEPTANCE_CONFIG=./acceptance_config.yml ruby test/acceptance/version_test.rb

That's it!

If you're developing an acceptance test and you're unsure why things might be failing, you can also view log output for the acceptance tests, which can be very verbose but are a great help in finding bugs:

ACCEPTANCE_LOGGING=debug ACCEPTANCE_CONFIG=./acceptance_config.yml ruby test/acceptance/version_test.rb

vagrant's People

Contributors

aigeruth avatar aszeszo avatar bitprophet avatar bpo avatar calavera avatar command-tab avatar dreamcat4 avatar eventualbuddha avatar fgrehm avatar jamtur01 avatar jbrown avatar johnbender avatar jssjr avatar justinlynn avatar lstoll avatar mdub avatar miketheman avatar mitchellh avatar olemchls avatar pellegrino avatar petyosi avatar rcreasey avatar ryansch avatar schisamo avatar scoates avatar spk avatar stevehodgkiss avatar titanous avatar tolbrino avatar vishvananda avatar

Watchers

 avatar  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.