Choosing the right build and deployment tools
I have a very large, mostly HTML/SSI site that I manage part-time and do weekly deployments on in addition do being an enterprise Magento developer. The site in question has ~5000 static HTML files and requires a lot of upkeep to manage deployments.
In addition to that site, I manage numerous Magento installs. I currently manage them from SVN and do exports/checkouts from various production and qa branches/tags.
While this is manageable, I don't get some of the things that I know build tools provide. Some of those features would be:
- Automatic Minification of CSS/JS
- Revision History
- Multi-server 开发者_开发问答deployment
- Runtime configuration
- Stats of broken builds/build time/deployment frequency
- Integration with Testing frameworks
The three tools I've been reviewing are
- Apache Ant
- phpUnderControl
- Capistrano (at the insistence of a friend of mine who is a RoR dev)
I briefly looked at Hudson, and had a ton of problems trying to get it up and running.
My Questions:
- What is the upside/downside of going to this type of strategy?
- Any hidden pitfalls that you've experienced?
- Which tool do you think would best fit for the deployment/management of the HTML site?
- Does anyone have experience with deploying distributed Magento from a deployment/build management system?
Thanks in advance...
Update
Still no movement here, so I'm going to ask this:
Should I rather rebuild in HTML5 Boilerplate which has Ant build scripts out of the box? This would afford me the ability to use Ant, but the build scripts are already pre-made so I have a good starting point. Your thoughts and suggestions are welcome.
I've got one more tool for you to review: Jenkins (earlyer: Hudson).
Its a great tool to run and control your builds. Furthermore you can remote the console and get notifications via Jabber protocol.
精彩评论