Recommendations to handle development and deployment of php web apps using shared project code

Posted by Exception e on Stack Overflow See other posts from Stack Overflow or by Exception e
Published on 2009-11-27T14:04:00Z Indexed on 2010/04/01 3:53 UTC
Read the original article Hit count: 289

I am wondering what the best way (for a lone developer) is to

  1. develop a project that depends on code of other projects
  2. deploy the resulting project to the server

I am planning to put my code in svn, and have shared code as a separate project. There are problems with svn:externals which I cannot fully estimate.

I've read

but there is one special thing with php-projects (and other interpreted source code): there is no final executable resulting from your libraries. External dependencies are thus always on raw source code.

Ideally I really want to be able to develop simultaneously on one project and the projects it dependends on.

Possible way: Check out a projects' dependency in a sub folder as a working copy of the trunk. Problems I foresee:

  1. When you want to deploy a project, you might want to freeze its dependencies, right?
  2. The dependency code should not end up as a duplicate in the projects repository, I think.

    *(update1: I additionally assume svn:ignore will pose problems if I cannot fall back on symlinks, see my comment)

    I am still looking for suggestions that do not require the use junction points. They are a sort of unsupported hack in winxp, which may break some programs*

This leads me to the last part of the question (as one has influence on the other): how do you deploy apps whith such dependencies? I've looked into BuildOut for Python, but it seems to be tightly related to the python ecosystem (resolving and fetching python modules from the web etc).

I am very eager to learn about your best practices.

© Stack Overflow or respective owner

Related posts about web-development

Related posts about deployment