tommymcgahee / puppet-and-ci-managed-dev-environments

Learn how a Puppet provisioned Vagrant VM can abstract Node.js-based workflows off a developer's machine and into a structured, testable, continuous-integration environment.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Create a Puppet-provisioned development VM that runs Grunt and integrates with Travis CI, HipChat and Cachet

Learn how a Puppet provisioned Vagrant VM can abstract Node.js-based workflows away from a developer's machine, and into a structured, testable, continuous-integration environment.

Components

This project makes use of the following packages, services and software:

Requirements

Vagrant must be installed on the computers you wish to run the local VMs.

Gotchas

Hostnames will need to be changed in bootstrap-master.sh and bootstrap-agent.sh. DHCP or local host files should match.

Production URL and Git config options need to be changed in deploy.sh.

New SSH id_rsa deploy key pair will need to be generated and encrypted. See encryping-fiiles for more information on encrypting files with Travis CI.

New HipChat room and token will need to be created. Encrypted token will need to be inserted into .travis.yml (lines 21-24). See HipChat-notification for information on encrypting tokens with Travis CI.

Hubot will need to be updated with new HipChat and Cachet tokens, IDs and URLs in hubot.conf.

Branch Overview

Puppet Master Foreman

Provides all needed files to stand up a local, Cent OS 6 VM as a Puppet Master with Foreman as its ENC.

Master

Provides all needed files to stand up a local, Cent OS 6 VM as a Puppet Agent with the ZF5 generator installed and ready for development work.

Hubot

Version controlled Hubot configuration.

Workflow

Image of project workflow. Steps include Remote Git Repo, Developer Machine, Local Vagrant VM - Puppet Agent, CI and Deployment, Production, HIpChat, and Status Page

License

MIT License

About

Learn how a Puppet provisioned Vagrant VM can abstract Node.js-based workflows off a developer's machine and into a structured, testable, continuous-integration environment.


Languages

Language:SCSS 52.7%Language:HTML 41.7%Language:JavaScript 3.5%Language:Shell 2.1%