When working with Puppet and a VCS (like git
and SVN
)
it’s nice to have a simple way of updating the Puppet tree.
My tree is always in /etc/puppet
and owned by user and group
puppet
. User puppet
is allowed to checkout the complete
tree from git
or subversion
.
I have created two one-liners to update the complete tree and make sure all rights are still correct.
update_svn
#!/bin/bash
# update_svn
su - puppet -c 'cd /etc/puppet; svn up; cd doc; ../bin/gendoc'
update_git
#!/bin/bash
# update_git
su - puppet -c 'cd /etc/puppet; git pull; cd doc; ../bin/gendoc'
But, of course, it’s not handy to type update_git
today and update_svn
tomorrow. And I also don’t want a path to /etc/puppet/bin
.
The solution is a very simple one, as always:
cd /usr/local/bin
ln -s /etc/puppet/bin/update_git pupdate
and now I only have to type pupdate
and things work out.