Continuous deployment is all the rage. This tutorial will help you get started down that path.
Tip: you can adapt most of this to deploy to something like Google App Engine (instead of CloudBees), or, if you have a lot of time on your hands (and money), Amazon BeanStalk.
Note you can read more about maven and cloudbees here.
Open your pom.xml file and add in the plugin repository, and the cloudbees build plugin.
This should deploy your app to the cloud (create a new app if it doesn't already exist).
You don't have to use github - your own git repository, or SVN etc can work.

Then click on "configure", you will want to tell Jenkins to grab your source code from git:

User configuration (for example)

Also - this will show you a public key that you can put add to github to allow DEV@cloud to pull out the source code as needed. In the git section copy the whole public key blob of test, and then go to github, click on "account settings" and then add this as a key to your account:

Now to get DEV@cloud to run your build on source code change, you can either poll:

(which will pull changes in as they happen, almost). OR, you can push from github. To push, you will need to go to Admin, then "service hooks" and then "post receive URLs". You then put in a URL of the format:
https://CBUSER:PASS@CBACCOUNT.ci.cloudbees.com/job/JOBNAME/build - you will need to URL encode your user name as it will have an "@" in it (user name is email).
Finally, you setup the build command:

(of course with your appropriate key information)
From here on - every time a code change is made the build will be run, and the code pushed to the nominated appid. For extra points, you could use the Promotion plugin for Jenkins, and have rules that control when an application is deployed to an appropriate appid (ie production, versus test).
We (CloudBees) use this setup in multiple places - including cloudbees.com. Hope this helps you !