# RoR/Net::SSH and RoR/Weblogic or RoR/Websphere

**URL:** <https://www.ruby-forum.com/t/ror-net-ssh-and-ror-weblogic-or-ror-websphere/182834>\
**Category:** Rails\
**Created:** [February 3, 2010, 3:33pm UTC](https://www.ruby-forum.com/t/ror-net-ssh-and-ror-weblogic-or-ror-websphere/182834 "2010-02-03T15:33:57Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![destiney](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/f07891/32.png) [@destiney](https://www.ruby-forum.com/u/destiney)\
**Post date:** [February 3, 2010, 3:33pm UTC](https://www.ruby-forum.com/t/ror-net-ssh-and-ror-weblogic-or-ror-websphere/182834/1 "2010-02-03T15:33:57Z")

</div>

Has anyone used Net::SSH within a RoR project?

What I’m looking at is to write an internal RoR app whose sole purpose  
is to deploy other software to internal servers/systems.

These are not RoR apps to be deployed. They are a wide arrange of  
products ranging from Weblogic and Websphere java apps, to C# client  
apps, to Vitria BW apps.

Also for auditing reasons only certain users are allow to deploy  
software or have access to certain environments like production. They  
don’t want developers free access to these areas.

The other major problem is each deployment of the same product is not  
always the same. There could be many permitations for one type of  
product, but then again for a different product it may always be  
delivered the same way. Wish all were this way.

So, I invision a RoR app the will:  
Authenticate a user and role they play in the deployment:  
Scheduler (aka a manager like a change manager)  
Release Manager (aka one that actually has authority to the target  
systems and will authorized the deployment)  
Observer (aka any user that wish to see the progress or status of a  
deployment: developers, PM, key players)  
Have Deployment Templates so the Scheduler creates a deployment from  
and the RM authorizes and adjusts accordingly. This will contain  
various tasks like Serial, Parallel, load ssh keys, transfer files,  
execute remote commands, send emails, connect to admin consoles on  
remote systems to execute scripts, etc  
Obviously a scheduling calendar  
bj gem to execute the deployment in the background

There is more to this, but those are the basics.

The guts of this is when it will ssh to remote systems and it will  
remote to the weblogic /websphere admin servers.  
It looks like I can use Net::SSH. I could store the RM keys and hash  
the passphrase in the DB. The RM would supply the passphrase when he/  
she authorizes the deployment. I was wondering if I could attach an  
ssh-agent to the rails app and add/delete keys as needed. Has anyone  
ever done this?

Now for the weblogic and websphere admin scripts: I have searched,  
but found no documentation on a Ruby API(gem) for either of these. I  
did find a python API supplied by WL. I think I’ll still have to use  
ant here and have bj exec a shell command to ant. Both WL and WS  
supply java API ant tasks to access the admin servers. Does anyone  
know of a better way to access WL and WS admin servers or use java ant  
tasks in ruby/jruby?

The company is looking at using BladeLogic to do all this. I have  
read some of the documents on it, but could not figure out if it  
actually will work. They have a thing call Network Shell for remote  
work, but no details on it like: can it do ssh, can it sudo to execute  
something as another user? does it have roles? is is fexible enough  
for many different various deployments for a product (templates)?

Any ideas?

Sorry, this was a little off topic. I just want to know if I’m  
wasting my time or has this been tried by someone.

GregD
