Forge Home


Deploys VCS repos

George Brown



9,084 latest version

1.5 quality score

Version information

  • 0.0.2 (latest)
  • 0.0.1
released Jun 24th 2014

Start using this module


gbrown/vcs_deploy — version 0.0.2 Jun 24th 2014

VCS Deploy puppet module

A puppet module to deploy vcs repos onto a server.


The config class takes $repos as a parameter which should be a hash of vscrepo types. This is done as the class wraps this with create_resources function to allow for creation of an arbitrary number of git repos. Note for the vcsrepo type the namevar is the location of where the repo will be checked out.


Deploy two git repos from

  • The foo repo is deployed to /opt/code_foo from origin/master

  • The bar repo is deployed to /opt/code_bar from the 2.0 tag

include vcs_deploy

$repos =  {
            '/opt/code_foo' => {
              source  => 'git://',
            '/opt/code_bar' => {
              source    => 'git://',
              revision  => '2.0',

As this module is essentially just wrapping vcsrepo it is probably a good idea to check out for more details.


By default the provider for vcsrepo is git. This can be overridden in the $repos parameter to use SVN for example. Ensure also defaults to latest as the revision provider is intended to be used to specify a branch or commit. The default revision is origin/master. Finally there is also a require metaparameter to ensure the git package is present so vcsrepo has a provider. This is defined in the $vcs parameter, which of course can be changed to an array to ensure both SVN and git are present for example.


This requires the puppetlabs-vcsrepo module as well as puppetlabs-stdlib.