An OpenShift Primer Get your code into the Cloud!
Eric D. Schabell Codemotion – Rome, ItalyJBoss Senior Solution Architect 23-24 March [email protected] / @ericschabell www.codemotion.it
Sign up, it's free!• http://openshift.redhat.com – “Sign
up and Try it!”
• Example projects you can deploy now!
– https://www.github.com/openshift
• Help?
– IRC: freenode #openshift
– Forums: http://www.redhat.com/openshift/community/forums
– Email: openshift at redhat dot com
Promotional Code: CODEMOTION
Shift happens?
Immersion...
Never look back...
PaaS?
Why am i DORKINGwith the stack?!
Express
1.Sign Up
2.Install Client Tools
3.Create Domain
4.Create Application
5.Deploy Application (GIT)
Sign Uphttp://openshift.redhat.com
Install Client Tools
• Fedora / RHEL– openshift.repo
• Move to yum.repos.d$ sudo mv openshift.repo /etc/yum.repos.d
• Install client tools$ sudo yum install rubygem-rhc
• The rest (osX, Ubuntu, Cygwin):– gem install rhc
(json_pure)– see forums, blogs
Create Domain
• Use rhc-create-domain command$ rhc-create-domain -n mydomain -l openshiftlogin
• use Express console!
rhc-create-domain
Usage: /usr/bin/rhc-create-domain
Bind a registered rhcloud user to a domain in rhcloud.
-n|--namespace namespace Namespace for your application(s) (alphanumeric - max 16 chars)
-l|--rhlogin rhlogin Red Hat login (RHN or OpenShift login with OpenShift Express access)
-p|--password password RHLogin password (optional, will prompt)
-a|--alter Alter namespace (will change urls) and/or ssh key
-d|--debug Print Debug info
-h|--help Show Usage info
--config path Path of alternate config file
--timeout # Timeout, in seconds, for connection
Web Administration
Create Application
Configure Application
Ready to code!
Application Details
Why OpenShift? It's you.
Other Options: create apps
• Name app and define type$ rhc-create-app -a appname -t apptype -l openshiftlogin
(Node.js, DIY, Jenkins, PHP, Ruby, Python, Perl and most important, Java!)
• Add application to local repo$ git add .
• Commit changes$ git commit -m “Initial app import.”
Deploy to Cloud
• Push the code to Express
$ git push
• Congratulations, your app is in the cloud!
Demo Codemotion Mobile App
$ rhc-create-app -a codemotion -t jbossas-7
$ cd codemotion
$ git remote add upstream -m master git://github.com/eschabell/kitchensink-html5-mobile-example.git
$ git pull -s recursive -X theirs upstream master
$ git push
http://codemotion-$your_domain.rhcloud.com
JBoss Developer Studio
JBDS in action...
Remove Application
Time for a new project!
What will the future bring?
Express / Flex unification
JBoss++
Commercial Service / Pricing
Mobile
Open Source (SDK + project)2012
Loving your hammer?
• OpenShift: http://openshift.redhat.com
• OpenShift Express: https://openshift.redhat.com/app/express
• Blogs: https://www.redhat.com/openshift/community/blogs
• JBPM Web Designer in the Cloud (example): http://www.schabell.org/2011/10/jbpm-web-designer-integrates-jbpm.html
• Deploy an application to OpenShift with JBossTools (video): http://vimeo.com/33988381
• Deploying mobile application with JBoss Dev Studio: https://community.jboss.org/wiki/DeployingHTML5ApplicationsToOpenshift
• Rise above the Cloud hype with OpenShift: http://www.schabell.org/2012/01/rise-above-cloud-hype-with-openshift.html