Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Merging Git Workflow With Puppet Environments

DZone's Guide to

Merging Git Workflow With Puppet Environments

· DevOps Zone ·
Free Resource

Learn more about how CareerBuilder was able to resolve customer issues 5x faster by using Scalyr, the fastest log management tool on the market. 

If you're trying to keep your development team from doing accidental pushes of incorrect code, a short tutorial on how to use Git, Puppet, and some other open source utilities should go a long way in helping junior sysadmins or sysadmin developers with this kind of problem.  The tutorial comes to you from Puppet Labs:

One of the features offered by Puppet is the ability to break up infrastructure configuration into environments. With environments, you can use a single Puppet master to serve multiple isolated configurations. For instance, you can adopt the development, testing and production series of environments embraced by a number of software development life cycles and by application frameworks such as Ruby on Rails, so that new functionality can be added incrementally without interfering with production systems. Environments can also be used to isolate different sets of machines. A good example of this functionality would be using one environment for web servers and another for databases, so that changes made to the web server environment don’t get applied to machines that don’t need that configuration.  -- Puppet Labs

This development model should give deployment managers the simple access control they need to generate new environments, test code, and deny access to change the production environment. This process will take advantage of a neat little tool called gitolite.

Source: http://puppetlabs.com/blog/git-workflow-and-puppet-environments

Find out more about how Scalyr built a proprietary database that does not use text indexing for their log management tool.

Topics:

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}