Capistrano Config Issue

I am using Bitnamy Rubystack on Windows 7, I have developed a ROR app I would like to deploy to a linux server that I have set up in a VM on my network.

Everything works up to the point of cap deploy:check, when I do $ cap deploy:update I get the following error.

    executing locally: "git ls-remote git@github.com:xxxx/dressy.git master " *** executable 'git' not present or not in $PATH on the local system!   * executing "git clone -q git@github.com:xxxx/dressy.git /var/www/ dressy/releases/20100915060820 && cd /var/www/dressy/releases/ 20100915060820 && g it checkout -q -b deploy 6be4211413d50eaee9ead03a9f2381ed70f5df32 && (echo 6be42 11413d50eaee9ead03a9f2381ed70f5df32 > /var/www/dressy/releases/ 20100915060820 /REVISION)"     servers: ["192.168.1.6"]     [192.168.1.6] executing command ** [192.168.1.6 :: out] Permission denied (publickey). ** fatal: The remote end hung up unexpectedly     command finished *** [deploy:update_code] rolling back   * executing "rm -rf /var/www/dressy/releases/20100915060820; true"     servers: ["192.168.1.6"]     [192.168.1.6] executing command     command finished

you are missing git the the development box

https://git.wiki.kernel.org/index.php/MSysGit:InstallMSysGit

Thanks for the respsonse, radhames.

I will read that article but till then here is some more info.

Well this is the thing, the Rubystack package I'm using seems to have git already installed in the environment as I was able to commit changes and upload those changes to my github account. When I do git - v in my Ruby console it gives me the version. I'm not at my dev box ATM.

I did try installing mysysgit to create the ssh keys I needed but that is in a different console.

I know the fact I'm using windows is causing this issue but I cant figure out where.

I tried setting the set_local_scm command to both my git and mysysgit directories to no avail.

Is there anyone using the Bitnami Rubystack for Windows that understands the peculiar configuration needed for Capistrano, SSH, and GIT?

Xenio wrote:

Thanks for the respsonse, radhames.

I will read that article but till then here is some more info.

Well this is the thing, the Rubystack package I'm using seems to have git already installed in the environment as I was able to commit changes and upload those changes to my github account. When I do git - v in my Ruby console it gives me the version. I'm not at my dev box ATM.

I did try installing mysysgit to create the ssh keys I needed but that is in a different console.

I know the fact I'm using windows is causing this issue but I cant figure out where.

I tried setting the set_local_scm command to both my git and mysysgit directories to no avail.

Well, you're misspelling msysgit...

Is there anyone using the Bitnami Rubystack for Windows that understands the peculiar configuration needed for Capistrano, SSH, and GIT?

Your configuration is strange. Capistrano should not be running Git locally, just on the server.

Best,

Well I apologize for the misspelling in my post, but I have it all correct on the actual desktop. My setup is this:

Dev Box: Rubystack Installation on Windows 7 Production Box: manual ROR installation using SVM on Linux Mint

cap deploy:check works cap deploy:update does not.

My understand was that Capistrano takes the files from my dev box, puts it on my github account, then has the production server pull the files from the gthub account. Is this correct?

Xenio wrote: [...

My understand was that Capistrano takes the files from my dev box, puts it on my github account, then has the production server pull the files from the gthub account. Is this correct?

You can certainly use Cap any way you like, but this is a strange workflow. In particular, Cap shouldn't be pushing your code to GitHub -- that's simply a version control task that has nothing to with deployment. It should only be pulling the code to the production server and doing other setup tasks on the production box.

Best,

You should be doing the pushing manually and capistrano the pulling from the repository, i dont let cap push.

Thanks guys now that I understand that. I have things setup oddly because I dont think the SSH part happens during my capistrano deploys.

I can use git on the development box to commit, add, push changes to my github account, etc fine. I can use git on the production server to clone, and pull the changes from the github account fine.

I think that something goes wrong when my Windows dev box tries to ssh into my production server running linux mint.

I think this comes down to a windows issue with using ssh with the Rubystack environment to handle Capistrano deploys. I will check the forums again to see if I missed something.

On another note, when i use git clone to pull the latest changes, i can go to that directory and in terminal hit "ruby script/server" and it starts a webrick server on a different port than what I specified via passenger. Anyone have any thoughts on this?

git clone pull the whole project , git pull get the differential changes and keeps track of everything. webrick runs on port 3000 is only used for development, passenger is an apache/nginx mod and should run on port 80

Cool so I tried git clone on the prod server and that worked.

My issue now is that using the passenger apache setup, i cant view my app. I can only view the static files that are created by default in the public directory.

Is there someone in the Philadelphia area that can help me get this working. I will compensate them.

Xenio wrote:

Cool so I tried git clone on the prod server and that worked.

My issue now is that using the passenger apache setup, i cant view my app. I can only view the static files that are created by default in the public directory.

Is your Passenger configuration file pointing to the correct public directory? With default Cap configuration, that should usually be my_app/current/public.

Is there someone in the Philadelphia area that can help me get this working. I will compensate them.

You shouldn't need to hire anyone. This is not difficult.

Best,

By the passenger configuration file do you mean the virtual host I set up in "sites-available"?

also I want to add that if i use script/server it works but I want to use it with passenger for reasons mentioned earlier.

Please quote when replying.

Xenio wrote:

By the passenger configuration file do you mean the virtual host I set up in "sites-available"?

I believe so; I dont have a Passenger setup handy to double-check on as I write this. But there's a place where you specify the document root, and that's what I'm talking about. Check the Passenger docs for more info.

Best,