rocketeers / rocketeer

Send your projects up in the clouds
http://rocketeer.autopergamene.eu/
MIT License
2.67k stars 217 forks source link

Clone and resolve dependencies locally before deployment #568

Open mbrodala opened 9 years ago

mbrodala commented 9 years ago

I would like to achieve the following workflow for deployment:

  1. Check remote server
  2. Create remote release
  3. Clone repository to local directory
  4. Resolve dependencies in local directory
  5. Send result to remote server (preferably via rsync)
  6. Perform migrations on remote server

Can this exact order be achieved with Rocketeer? It seems dependencies are always resolved after deployment.

Background: in a perfect world I don't need git, composer or similar on the remote server for a deployment.

kuzmichus commented 8 years ago

+1 I also need to clone the project locally before uploading to a remote server.

mbrodala commented 8 years ago

The cloning part can be achieved with the LocalClone strategy, a speciality here is the local dependency resolving. With the current structure the only option I see is a custom deploy strategy which performs clone, resolves dependencies and then uploads to the remote server. The original dependencies strategy needs to be disabled here.

mbrodala commented 8 years ago

And I did exactly that now. With cc0656c it is now actually possible to disable strategies.

Now I really don't need neither Git nor Composer on the servers. :-)