“Continuous Integration” is a development practice that requires developers to integrate code into a shared repository time to times. Each check-in is then verified by an automated build, allowing teams to detect problems early. Apart from automating the builds we can automate the deployment and test.
So complete activity can be divided in to 2 pieces
1) Sync latest Code, Build and run unit test using Jenkins.
2) Automate the deplyment to test environment and run funcitonal and integration tests using CHEF.