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
~ \{.bash} #!/bin/bash # update_svn su - puppet -c `cd
/etc/puppet; svn up; cd doc; ../bin/gendoc' ~
update_git
~ \{.bash} #!/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: ~ \{.bash} cd
/usr/local/bin ln -s /etc/puppet/bin/update_git pupdate ~ and now I
only have to type pupdate
and things work out.