Skip to content

Commit 7dbd533

Browse files
cordovalweaverryan
authored andcommitted
add cookbook for deployment tools
1 parent 7d03a92 commit 7dbd533

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed

cookbook/deployment-tools.rst

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
.. index::
2+
single: Deployment Tools
3+
4+
How to deploy a symfony2 application
5+
====================================
6+
7+
There are several ways you can deploy a symfony2 application:
8+
9+
* One way is moving the files manually or via ftp if you don't use versioning
10+
(e.g. git).
11+
12+
* If you use versioning you could still move things manually cloning or fetching
13+
your repository from the final server folder location. However it is advised
14+
you make use of better tools especially in the case where you have access
15+
capabilities such as enough permissions in a virtual private server or similar system.
16+
17+
* Some projects are really large so they make use of more established tools for
18+
deploying not only the files but really deploy a OS or package distribution
19+
containing the sf2 project inside.
20+
21+
* Another important thing to keep in mind is the handling of dependencies.
22+
One can use composer to fetch dependencies or include them all together with the
23+
repository. Some tools would handle this for you and even perhaps avoid fetching
24+
dependencies when a simple copy would do.
25+
26+
* Remember deployment process includes all the setup and configuring, warming up caches,
27+
cleaning cache, all configuring environment required, setting of permissions, run of
28+
cron jobs, etc. All these before, during and after the deployment should be kept in
29+
mind to properly deploy a working symfony2 application.
30+
31+
Deployment of large applications require care. The use of staging, testing, QA,
32+
continuous integration, database migrations and capability to roll back in case of failure
33+
is strongly advised. There are simple and more complex tools and one can make
34+
the deployment as easy or sophisticated. Here we present only a few popular on the map:
35+
36+
The Tools
37+
---------
38+
39+
`Capifony`_:
40+
41+
This tool is a deployment recipe on top of capistrano for symfony2 project
42+
43+
`Magallanes`_:
44+
45+
This tool is probably the one top php deployment tool capistrano-like for deploying any kind of php project
46+
47+
`sf2debpkg`_:
48+
49+
This tool helps you build a native debian package for your symfony project
50+
51+
Bundles:
52+
53+
There are `listings`_ of bundles for deployment you can search and use
54+
55+
Basic scripting:
56+
57+
You can of course use shell, `ant`_, or other build tool to script the deploying of your project
58+
59+
Deployment services:
60+
61+
Some services require a single file in project's git repository like `pagodabox`_ to handle all deployment
62+
63+
64+
.. tip::
65+
66+
Consult your symfony community at IRC channel #symfony2 for more fresh ideas or common problems.
67+
68+
.. _`Capifony`: https://capifony.org/
69+
.. _`sf2debpkg`: https://github.com/liip/sf2debpkg
70+
.. _`ant`: http://blog.sznapka.pl/deploying-symfony2-applications-with-ant
71+
.. _`pagodabox`: https://github.com/jmather/pagoda-symfony-sonata-distribution/blob/master/Boxfile
72+
.. _`Magallanes`: https://github.com/andres-montanez/Magallanes
73+
.. _`listings`: http://knpbundles.com/search?q=deploy

0 commit comments

Comments
 (0)