The SitePoint PHP blog has a new tutorial by James Dow showing you how to use git and Laravel for application deployment. This isn't just about deploying a Laravel application, though. It includes a method for automating processes once the deployment is complete.
You can’t be a successful web developer without using some sort of deployment workflow for your websites. It doesn’t matter how good or bad your workflow might be. If you can’t get your website up to production then your client will never pay you for your hard work. [...] I wanted something that was as easy as pushing a repository with Git. More important, I wanted to be in full control when pushing content live. I was able to find a similar workflow that used Git to handle the file transferring. On top of that I found out I could also use the PHP framework Laravel to automate the more repetitive tasks.
He starts with the server side of things, showing you how to get the git repository created and structured. He then configures Laravel with a "remote" connection for the production server so it can reach out and execute the tasks. Finally he shows how to make the route (/deploy) that's executed when the route is called. In his example route he sets up a SSH request to the production server that changes to the web server root and makes a "git pull" request to get the latest code. It's an interesting use for something like Laravel, but I wonder if it's a good fit for the deployment need. This kind of thing could pretty easily be replaced with a small shell script.