Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Deploying / Continuous integration of a Symfony 2 application with Jenkins/Hudson

I've developed an application which uses the Symfony 2 framework. The application code resides in a Bundle, and on my local machine I just downloaded the Symfony2 Standard Distribution and added the Bundle to the src folder as the tutorials describe, before editing the config / routing files appropriately. That's served me well from a development perspective.

I'm now starting to think about how to handle the framework dependencies with regards to deploying to a production environment / a continuous integration setup. Should I continue as I have to date, using a distribution and perhaps a build tool like Phing to check out my bundle and any other dependencies? Or should I be checking out only the Symfony source from Github, and maintain a custom 'distribution' for my application?

I'm hoping someone else has had to do a similar thing and can recommend a solution that works with minimum fuss!

Thanks.

like image 352
Craig Avatar asked Apr 14 '11 15:04

Craig


1 Answers

Are your tests written with PHPUnit? If so you can run the tests directly using ant, and then run Ant from jenkins. In my set-up I then have a second project that updates the git checkout in our staging environment if the test passes. I ran into a bunch of issues duck-taping this all together ( mostly around github keys, user permissions, user shell environments, etc ) but the phpqa tools work very well. I just saw this post that seems like a more recent guide on getting everything running: http://edorian.posterous.com/setting-up-jenkins-for-php-projects

I've got this 'Hello world' project including a working build.xml that should work if ant and the PHP tools are set up correctly:

https://github.com/canuckistani/JenkinsTest

like image 51
therealjeffg Avatar answered Sep 20 '22 18:09

therealjeffg