diff --git a/environment.conf b/environment.conf index a1579ce..6d60708 100644 --- a/environment.conf +++ b/environment.conf @@ -1,5 +1,5 @@ modulepath = modules:site:$basemodulepath -config_version = '/usr/bin/git --git-dir $confdir/environments/$environment/.git rev-parse HEAD' +config_version = 'scripts/config_version.sh $environmentpath $environment' # Environment timeout should be set to unlimited. When set to zero it is less performant. # When code is deployed the admin API of puppetserver should be used to force a refresh of code from disk. diff --git a/scripts/config_version.rb b/scripts/config_version.rb new file mode 100644 index 0000000..52f32c5 --- /dev/null +++ b/scripts/config_version.rb @@ -0,0 +1,17 @@ +require 'rugged' + +environmentpath = ARGV[0] +environment = ARGV[1] + +repo = Rugged::Repository.discover(File.join(environmentpath, environment)) +head = repo.head + +#sha1 hash of the newest commit +head_sha = head.target_id + +#the commit message associated the newest commit +commit = repo.lookup(head_sha) + +#add something to find the remote url + +puts head_sha diff --git a/scripts/config_version.sh b/scripts/config_version.sh new file mode 100644 index 0000000..1f42d34 --- /dev/null +++ b/scripts/config_version.sh @@ -0,0 +1,7 @@ +#!/bin/bash +if [ -e /opt/puppetlabs/server/pe_version ] +then + /opt/puppetlabs/puppet/bin/ruby $1/$2/scripts/config_version.rb $1 $2 +else + /usr/bin/git --git-dir $codedir/environments/$environment/.git rev-parse HEAD +fi