1.7 KiB
1.7 KiB
Using vcsrepo with Git
To create a blank repository
Define a vcsrepo
without a source
or revision
:
vcsrepo { "/path/to/repo":
ensure => present,
provider => git
}
If you're defining this for a central/"official" repository, you'll
probably want to make it a "bare" repository. Do this by setting
ensure
to bare
instead of present
:
vcsrepo { "/path/to/repo":
ensure => bare,
provider => git
}
To clone/pull a repository
To get the current [master] HEAD:
vcsrepo { "/path/to/repo":
ensure => present,
provider => git,
source => "git://example.com/repo.git"
}
For a specific revision or branch (can be a commit SHA, tag or branch name):
vcsrepo { "/path/to/repo":
ensure => present,
provider => git,
source => 'git://example.com/repo.git',
revision => '0c466b8a5a45f6cd7de82c08df2fb4ce1e920a31'
}
vcsrepo { "/path/to/repo":
ensure => present,
provider => git,
source => 'git://example.com/repo.git',
revision => '1.1.2rc1'
}
vcsrepo { "/path/to/repo":
ensure => present,
provider => git,
source => 'git://example.com/repo.git',
revision => 'development'
}
For sources that use SSH (eg, username@server:...
)
Manage your SSH keys with Puppet and use require
in your vcsrepo
to ensure they are present. For more information, see the require
metaparameter documentation1.
More Examples
For examples you can run, see examples/git/