We actually use the same exact build. We work on Virtual Boxes on our own machine, and use git to version control and make pull requests which we pull in if when we review them and see that they wont break anything. Then we have a .sh file we just ssh into the server and call that to restart the application.
However we are working on making an auto restart when we push to master. So we wont have to deploy the client all the time. So we are thinking of making a gulp interval to check every 30 seconds to see if there is a push to its branch which is master using simple-git. We haven't completed it yet but I will come back and respond with the finished code for this fixe when I am done. Should finish some time this week.