Giter Site home page Giter Site logo

klplentific / travis-cookbooks Goto Github PK

View Code? Open in Web Editor NEW

This project forked from travis-ci/travis-cookbooks

0.0 1.0 0.0 82.54 MB

Chef cookbooks collection used for Travis CI environment/VMs, worker machines and so on

License: MIT License

Ruby 59.78% Shell 11.52% HTML 28.43% Scala 0.07% Clojure 0.01% Groff 0.03% Python 0.16%

travis-cookbooks's Introduction

Travis cookbooks!

Travis cookbooks are collections of Chef cookbooks used with Chef Solo for setting up:

  • Linux VMs for running tests (CI environment in /ci_environment)
  • Travis worker machine (host OS in /worker_host)

The Chef run lists that are used to build the different VM images for Travis CI environment are defined in YAML files, that are stored in /vm_templates subdirectory. This custom definition format is similar to Chef roles and is used by travis-images tool.

Developing Cookbooks

Requirements

All the required cookbooks are stored in this single repository (no Berkshelf/Librarian, no git modules). You can find more details about this approach in "Making Breakfast: Chef at Airbnb".

  • Chef cookbooks currently must be compatible with Chef 12.
  • The VM template/basebox should be installed with Ubuntu 12.04 or Ubuntu 14.04 , which are the supported plaforms.

Branches

There are two long-lived branches:

  • master per tradition, which is compatible with Ubuntu 14.04
  • precise-stable, which is compatible with Ubuntu 12.04

Target your patches accordingly.

Vagrant

Cookbooks can be easily developed using Vagrant with Sous Chef workflow.

There is a Vagrantfile in this project that includes a VirtualBox setup, though testing is possible with other Vagrant providers. For VirtualBox, make sure to use Vagrant 1.6.2+ and VirtualBox 4.3.12+, or you might encounter Vagrant #3341.

The included Vagrantfile defines multiple machines, where each machine is a target worker platform:

  • precise64: this VM is defined as primary as Ubuntu 12.04 is officially supported by travis-cookbooks.
  • trusty64: this VM is experimental and is not automatically started.
  • win8: this VM is experimental and is not automatically started.

By default, Vagrant is configured to provision the worker_standard role. There are more possible setups (ruby, python, etc.) but since all Travis worker machines are based on worker_standard it provides good cookbook coverage. It is also possible to narrow down the Chef run list to only install a specific set of cookbooks, as commented in the Vagrantfile itself.

Windows Image

Vagrant will automatically install boxes for Ubuntu Linux (precise64 and trusty64) if you don't have them. Windows will not automatically install, and in fact licensing concerns have preventing anyone from publishing a Vagrant box that supports Windows on VirtualBox.

The following Windows boxes are available:

  • VagrantBox containing Windows on Hyper-V are available from Microsoft Open Technologies, but you can only use Hyper-V if your host OS is Window... so don't waste your time downloading on Mac or Linux.
  • Non-Vagrant VirtualBox images - are available from the modern.ie. Follow these instructions to create your own Windows base box.
  • Go faster and simpler, use the cloud! Several of the vagrant providers are for clouds that have Windows images. Unfortunately: communication with Windows is currently insecure and syncing folders (especially from non-Windows hosts) is not widely supported - so cloud providers are more of a future option unless you're willing to accept the known issues.

License

See the LICENSE files.

travis-cookbooks's People

Contributors

michaelklishin avatar banzaiman avatar joshk avatar gildegoma avatar loicfrering avatar roidrage avatar grahamcampbell avatar sarahhodne avatar dstufft avatar meatballhat avatar alex avatar dmalikov avatar ljharb avatar ifesdjeen avatar iconara avatar svenfuchs avatar wardbekker avatar drnic avatar airhorns avatar maxlinc avatar mpapis avatar tianon avatar ardock avatar fd avatar rockymadden avatar patcon avatar pat avatar judofyr avatar mmalecki avatar levent avatar

Watchers

Kien Luu 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.