• Developer A - Local Repository --> pulls/push ---> github
  • Developer B - Local Repository --> pulls/push ---> github
  • Capistrano would stick to our developers' machines, however we'll define :repository to suggest to the GitHub project: set :repository, "git@github.com:myuser/myproject.git" # My clone url
  • Developer A OR Developer B should be permitted to deploy committed files towards the production machine.

I am unsure concerning the third point here, is possible?

I have learned by ctcherry here About this workflow, does git command must be placed on the development server? that:

1) Automatically Capistrano will deploy in the repository, therefore the files getting used would range from code that's checked out github. You can configure Capistrano to deploy it in the designers local machine by utilizing a different "deployment strategy" See here: http://rubydoc.info/gems/capistrano/2.5.19/Capistrano/Deploy/Strategy/Copy

However I have doubts here.

As we make use of this approach, an amount the exact work-flow be around?

  • From developer machine A - We grab the committed files from github using Capistrano.
  • From that same developer machine A - We deploy individuals files in to the shared host via SSH and also the files is going to be positioned on their correct places?

Is it?

Update: Please I have not used at all either Git or Capistrano Deploy however, I am doing my best to try and know how all of this may work, to be able to allow a great workflow development process for my ZF based programs.

So my questions are actually fundamental ones.

Basically must provide any extra information, please tell me.

Thanks.

The workflow is identical. Ultimately, whenever either developer attempts to deploy the project, Capistrano will first checkout a brand new copy from the project right into a temp directory on their own machine, zip up, and upload it towards the remote server. Around the remote server the archive will be decompressed and anything else works normally.

Observe that this method is substantially reduced that the 'normal' deployment, particularly if your online connection is slow, because the whole project has been replicated up every time.