I am invited to speak at the Liferay West Coast Symposium next week (BTW its free for Jenkins User Conference registrants). My talk is about PaaS, Jenkins and how both can help Liferay plugin developers, theme developers and Liferay deployers benefit from the productivity and ease of use offered by cloud technologies.
As I started building the talk - I wanted to see how hard would it be to get a non-trivial application like Liferay running on CloudBees. For those who just want to see the steps, go to the wiki article and skip the rest of the blog.
The first step was was creating a database for Liferay. In the past, I have tried running Liferay on my box and setting up MySQL truly turned me off. I did not want to turn into a MySQL administrator. Creating a database on CloudBees is just one click and I am not going to maintain this database :-) - heck I am not even downloading the bits!!
The next steps was deploying the war. Admittedly, I ran into some minor issues - like figuring out the right jar files that the standalone Liferay war should be bundled with. (Liferay creates application server specific bundles with a bunch of jars thrown in the lib/ext directory, these had to be bundled into the standalone war). Further more portal-ext.properties file required updates with the MySQL information (minor nit). But once bundled - the war was ready to go.
The last step was to deploy the war file. Liferay requires 256M in permgen (had to put in a service desk request on my account for that on CloudBees). We are thinking of making permgen as a configurable option at CloudBees. I also had to bump up to a medium account as Liferay is a pretty big application and needs lots of memory. However, once setup - the war deployed seamlessly, I could hibernate and wake it up seamlessly.
I made some fast finger errors while packaging the war (wrong address to the database) but the delta deploy feature turned out to be a true life-saver, as I could do subsequent redeploys in seconds rather than redeploying the huge war file.
What does this mean?
The ease with which I could deploy Liferay on CloudBees PaaS means that:
- Liferay plugin developers are freed from maintaining their own instances, they can build the plugin, deploy on CloudBees and bring it down when done.
- Liferay deployers can focus on getting their instance setup right and are freed from maintaining the infrastructure.
- Liferay consultants can now do a quick POC and share it with their customers.
For the complete steps, read the wiki article.
- Harpreet Singh, Senior Director of Product Management