TYPO3.Surf is a package for FLOW3 to do automatic deployments for FLOW3 applications. However as the concepts of TYPO3.Surf are pretty generic, why not deploying a TYPO3 v4/v6 website with Surf?
Today we’re going to learn how to setup a TYPO3.Surf installation.
You can use one TYPO3.Surf setup to deploy as many different sites or applications as you want. So you don’t need a TYPO3.Surf for each project, but one for them all.
TYPO3.Surf does not need a webserver. Actually it does not provide any web interface but is completely CLI based. For the moment we will trigger/execute TYPO3.Surf manually by hand. Later we could have an Jenkins to do that for us.
While sitting together at the Core Team Meeting in prior to the T3DD12 in Munich, someone raised the topic „Deployment“ for TYPO3v4/6. Many agencies already have their own solution for deploying a TYPO3 site/setup. They based on e.g. phing or even a bunch of plain shell scripts.
During the lasts months being a freelancer for several agencies and while talking about deployment with others I noticed most of the people have the same issues again and again. It’s always like „how to get some content/pages from this to another installation“ or the need for a scriptable way (CLI) to do „TYPO3 things“ like clear the cache or run the „database compare tool“. There are a bunch of „problems“ everybody seems to have, if he tries to automatically deploy an Enterprise TYPO3 Installation.
We really want to tackle this issue, so I setup a forge project (http://forge.typo3.org/projects/extension-deployment/wiki) to collect all ideas and use cases and to actually solve the issues and missing features.
The goal of this project is to setup a „best practice“ for deploying a TYPO3 (v4/v6) installation. Also i’m going to develop some tools/extensions or cleanup/extend existing things for how i think a deployment chain might look like.
In the next weeks i will do a series of blog posts here. I’m going to cover „TYPO3.Surf“ (which is the „deployment tool“ we are going to use), best practice for Git versioning (releasing/branching/…), deployment-friendly TYPO3 setup (where and how to store configurations) as well as „Content migration“ (this is real tricky one; more on that later).
If you have any suggestions, ideas, want to contribute to this project or like to sponsor me please do not hesitate to contact me!
The first post will be about „How to setup TYPO3.Surf„.