I just put up a subversion pupppet module for automated deployment from release tags:
http://github.com/reyjrar/svnutils I wrote a wrapper script for deploying the /etc/puppet stuff: #!/bin/bash BINDIR="/opt/local/sbin" SVNURL="svn+ssh://svn/path/to/puppet" TARGET="/etc/puppet" BACKUP="/etc/puppet.old" $BINDIR/svncheckrel $SVNURL $TARGET rc=$?; if [ "$rc" -eq "0" ]; then if [ -d $BACKUP ]; then rm -rf $BACKUP; fi; mv $TARGET $BACKUP; $BINDIR/svnexportrel $SVNURL $TARGET fi; That's in /etc/cron.d for every 10 minutes. I have a post-commit hook looking at the "tags/release-" commits and it builds a Changelog from the last "tags/release-" and emails it to specified users. I'll add that to my github repo today. On Fri, Apr 30, 2010 at 3:37 AM, Maxim Ianoglo <dot...@gmail.com> wrote: > Hello, > > Here it is: > #!/bin/sh > > REPOS="$1" > TXN="$2" > > # synthax check of commited sources > PATH='/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/bin:/sbin:/ > usr/bin:/usr/sbin:' > tmpfile=`mktemp` > export HOME=/ > SVNLOOK=/usr/bin/svnlook > $SVNLOOK changed -t "$TXN" "$REPOS" | awk '{print $2}' | grep '\.pp$' > | while read line > do > $SVNLOOK cat -t "$TXN" "$REPOS" "$line" > $tmpfile > if [ $? -ne 0 ] > then > echo "Warning: Failed to checkout $line" >&2 > fi > /usr/bin/puppet --color=false --confdir=/tmp --vardir=/tmp -- > parseonly --ignoreimport $tmpfile >&2 > if [ $? -ne 0 ] > then > echo "Puppet syntax error in $line." >&2 > exit 2 > fi > done > res=$? > rm -f $tmpfile > if [ $res -ne 0 ] > then > exit $res > fi > > > Thank you. > -- > Maxim Ianoglo > > On Apr 29, 10:26 pm, Joe McDonagh <joseph.e.mcdon...@gmail.com> wrote: > > Maxim Ianoglo wrote: > > > Hello, > > > > > I tried to add a pre-commit hook using this tutorial: > > > projects.puppetlabs.com/projects/puppet/wiki/Puppet_Version_Control > > > > > But I get this error. > > > > =========================================================================== > == > > > [im(1000)@tech04:~/puppet2/trunk/clients/puppet/modules/main/inetd/ > > > manifests] > svn commit > > > Sending manifests/init.pp > > > Transmitting file data .svn: Commit failed (details follow): > > > svn: 'pre-commit' hook failed with error output: > > > /usr/lib/ruby/site_ruby/1.8/facter/util/loader.rb:73: command not > > > found: hostname > > > /usr/lib/ruby/site_ruby/1.8/facter/util/loader.rb:73: command not > > > found: hostname > > > /usr/lib/ruby/site_ruby/1.8/facter/util/loader.rb:73: command not > > > found: dnsdomainname > > > /usr/lib/ruby/site_ruby/1.8/facter/util/loader.rb:73: command not > > > found: domainname > > > /usr/lib/ruby/site_ruby/1.8/puppet/defaults.rb:216: undefined method > > > `downcase' for nil:NilClass (NoMethodError) > > > from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > > > `gem_original_require' > > > from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in > > > `require' > > > from /usr/lib/ruby/site_ruby/1.8/puppet.rb:110 > > > from /usr/lib/ruby/site_ruby/1.8/puppet/application/puppet.rb:1:in > > > `require' > > > from /usr/lib/ruby/site_ruby/1.8/puppet/application/puppet.rb:1 > > > from /usr/bin/puppet:70:in `require' > > > from /usr/bin/puppet:70 > > > Puppet syntax error in trunk/clients/puppet/modules/main/inetd/ > > > manifests/init.pp. > > > > > svn: Your commit message was left in a temporary file: > > > svn: '/home/im/puppet2/trunk/clients/puppet/modules/main/inetd/svn- > > > commit.2.tmp' > > > > =========================================================================== > == > > > > > If I run this from console - everything is ok. > > > > > I tried to add PATH variable, but no luck. > > > > > Did anyone faced this issue before ? > > > > > Puppet Version: puppet-0.25.4-1 > > > OS Version: CentOS release 5.4 (Final) > > > Ruby Version: 1.8.6 > > > > > Thakn you. > > > -- > > > Maxim Ianoglo > > > > Please paste the code from the pre-commit. > > > > -- > > Joe McDonagh > > AIM: YoosingYoonickz > > IRC: joe-mac on freenode > > "When the going gets weird, the weird turn pro." > > > > -- > > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > > To post to this group, send email to puppet-us...@googlegroups.com. > > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com<puppet-users%2bunsubscr...@googlegroups.com> > . > > For more options, visit this group athttp:// > groups.google.com/group/puppet-users?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "Puppet Users" group. > To post to this group, send email to puppet-us...@googlegroups.com. > To unsubscribe from this group, send email to > puppet-users+unsubscr...@googlegroups.com<puppet-users%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/puppet-users?hl=en. > > -- Brad Lhotsky -- You received this message because you are subscribed to the Google Groups "Puppet Users" group. To post to this group, send email to puppet-us...@googlegroups.com. To unsubscribe from this group, send email to puppet-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/puppet-users?hl=en.