You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@buildr.apache.org by Danny O'Connor <da...@propylon.com> on 2009/11/27 12:31:19 UTC
SVN credentials for release task
Hi All,
When you're using buildr with the hudson continuous integration server,
the 'release' task won't work because buildr needs a credential for svn.
This would probably happen in any situation where you don't cached
authentication for svn servers.
A quick patch is to allow svn username and password be set as
environment variables like so:
# Modified to allow usernames/passwords for svn
module Buildr
module Svn
module_function
def svn(*args)
if ENV["svn_username"] and ENV["svn_password"] then
svn_command = "svn --username #{ENV["svn_username"]} --password
#{ENV["svn_password"]} #{args.shift} #{args.map { |arg| arg.inspect
}.join(' ')}"
else
svn_command = "svn #{args.shift} #{args.map { |arg| arg.inspect
}.join(' ')}"
end
output = `#{svn_command}`
fail "SVN command failed with status #{$?.exitstatus}" unless
$?.exitstatus == 0
return output
end
end
end
I'm not sure if this is entirely correct though.
Regards,
Danny.
Re: SVN credentials for release task
Posted by Alex Boisvert <al...@gmail.com>.
Looks good to me. I normally set things up to use svn+ssh with ssh keys to
avoid having to manage passwords for continuous integration builds.
If you can open a Jira issue and attach your code, I'll merge it into the
codebase.
thanks,
alex
On Fri, Nov 27, 2009 at 3:31 AM, Danny O'Connor
<da...@propylon.com>wrote:
> Hi All,
>
> When you're using buildr with the hudson continuous integration server, the
> 'release' task won't work because buildr needs a credential for svn. This
> would probably happen in any situation where you don't cached authentication
> for svn servers.
>
> A quick patch is to allow svn username and password be set as environment
> variables like so:
>
> # Modified to allow usernames/passwords for svn
> module Buildr
> module Svn
> module_function
> def svn(*args)
> if ENV["svn_username"] and ENV["svn_password"] then
> svn_command = "svn --username #{ENV["svn_username"]} --password
> #{ENV["svn_password"]} #{args.shift} #{args.map { |arg| arg.inspect }.join('
> ')}"
> else
> svn_command = "svn #{args.shift} #{args.map { |arg| arg.inspect
> }.join(' ')}"
> end
> output = `#{svn_command}`
> fail "SVN command failed with status #{$?.exitstatus}" unless
> $?.exitstatus == 0
> return output
> end
> end
> end
>
>
> I'm not sure if this is entirely correct though.
>
> Regards,
> Danny.
>
>