Code Monkey home page Code Monkey logo

ci-puppet's Introduction

ci-puppet

This is a repo cloned from puppet-skeleton

Development Workflow

  • Clone this repository
  • Run bundle exec librarian-puppet install to gather the external modules
  • Run bundle exec rake to run the tests
  • Make changes to the repository
  • Run bundle exec rake to run the tests
  • Run vagrant up to instantiate the machines (requires Vagrant and either VirtualBox or VMWare Fusion)
  • Note whether your change was successful
  • Make more changes to the repository
  • Run bundle exec rake to run the tests
  • Run vagrant provision to apply new puppet code to the machines.
  • ...
  • Profit!

Setting up a real environment on remote machines

Provision blank Ubuntu 12.04 machines, possibly running machine-bootstrap to add some basic security to the machines.

  1. Run the bootstrap script from tools/bootstrap on each new machine. It should be run as locally on those machines as ./bootstrap machinename.domainname The script:
    • sets up apt sources and runs apt-get update
    • installs ruby 1.9.3
    • set up basic users to manage the environment (you will need to edit this if your user is not included)
    • tell machines their names: hostname, dns & etc hosts
  2. Run puppet on the machines (for GDS, this is done with Fabric from the ci-deployment repository)
    • this packages up puppet and puppet code and runs on all the boxes
    • you may need to edit the fabric code to ensure it runs on the correct ip ranges
    • fabric can also deploy the ssl certs that are needed in prod
  3. Manual steps
  4. Rolling out changes:
    • Once you are happy that the puppet code is correct (follow Development Workflow above), then you can apply code changes to CI by running the fabric scripts described in Section 2 above.

ci-puppet's People

Contributors

ajlanghorn avatar alexmuller avatar alext avatar annashipman avatar benilovj avatar bradwright avatar dcarley avatar garethr avatar heathd avatar jabley avatar jamiecobbett avatar jennyd avatar jgumbley avatar mattbostock avatar matthewford avatar philandstuff avatar rgarner avatar rjw1 avatar robyoung avatar singhgarima avatar tekin avatar tombooth 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.