Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What tools/languages do you use for PHP web application deployment?

For my web application running on LAMP, I need to be able to deploy database migrations and code changes on multiple servers and be able to test deployment afterwards, all of this automatically done by scripts.

Currently I'm torn between using directly my build tool (Phing) with some special deployment/test tasks, or shell scripts, or a scripting language like Ruby or Python.

The problem is that I feel that a build tool should be used to build, not to deploy. I also feel that shell scripts are hard to maintain and not very readable.

Do you have any good advice on this subject ?

like image 477
Franck Avatar asked Nov 26 '08 17:11

Franck


2 Answers

For PHP projects, Phing is the way to go. Deployment is definitely one of its intended usage, considering that in PHP there isn't any "real" build process - as scripts are not compiled.

From the official site:

If you find yourself writing custom scripts to handle the packaging, deploying, or testing of your applications, then we suggest looking at the Phing framework.

Phing can do everything shell/python/ruby scripts can do, and can be extended in PHP which is its major draw for PHP developers. Why would you want to use ruby/python if you are a PHP developer?

like image 129
Eran Galperin Avatar answered Oct 15 '22 12:10

Eran Galperin


Rasmus Lerdorf (creator of PHP) released a deployment tool called WePloy.

like image 39
ejunker Avatar answered Oct 15 '22 10:10

ejunker