Upload
marcolof
View
1.397
Download
1
Tags:
Embed Size (px)
DESCRIPTION
OpenShift: State of the Union talk at Devoxx,2012. A quick primer followed by some demo's you can do at home!
Citation preview
Marco RietveldJBoss Software Engineerhttp://mriet.wordpress.com/@marcorietveld14 Nov 2012, Antwerp
OpenShiftState of the Union
Devoxx 2012
Sign up (It’s free!) Sorry spam bots! No OpenShift for you!
Got a laptop? (Why not?!?)
Promo code:DEVOXX2012
http://openshift.com/
This way you can followalong with the demos.
OpenShift status
“A speech given by the US President toCongress every year describing the condition of the country...”
History Lesson• November 2010: Makara acquired by Red Hat
• 2011: Makara merged into the OpenShift project
• May 2012: OpenShift open sourced!
• Live CD launched for local PaaS
• GitHub code base
• Activity: blogs, howto’s, quickstarts, webinars...
• June 2012: JBoss World, OpenShift Enterprise PaaS announced.
Getting started
You start with 3
Tekst
And you never look back
PaaS?!?
Widescreen.. <drool>
Time spent setting up the server:14 hours
Time spent finding and fixing the problem:45 minutes
There are some things that you can spend all day(s) on.
This is NOT ONE OF THEM!
STOP DORKING WITH THE STACK
1. Sign Up2. Install Client Tools3. Create Domain4. Create Application5. Deploy Application (GIT)6. ROCK OUT!
HOW-TO
Sign up (It’s free!) Sorry spam bots! No OpenShift for you!
Got a laptop? (Why not?!?)
Promo code:DEVOXX2012
http://openshift.com/
This way you can followalong with the demos.
Command line (https://openshift.redhat.com/community/developers/install-the-client-tools)
Install Client Tools
Mac OS X$ ruby -e ‘puts “Ruby is installed”’ Ruby is installed$ git --versiongit version 1.8.0$ sudo gem install rhc$ rhc
WindowsInstall Ruby (RubyInstaller 1.9)Install Git for Windows (1.8.0)
C:\Program Files\> gem install rhcC:\Program Files\> rhc
Fedora$ sudo yum install rubygem-rhc$ rhc$ sudo gem update rhc
Ubuntu
$ sudo apt-get install ruby-full rubygems git-core$ ruby -e ‘puts “Test”’ Test$ git --versiongit version 1.8.0$ sudo getm install rhc$ rhcOther
See link above
Create your Domain- Use the rhc command$ rhc domain create -n mydomain -l openshiftlogin
- Use the admin console
Currently:
JBoss EAP 6.0, JBoss AS 7.1,Tomcat, Zend 5.6, Node.js 0.6, PHP 5.3, Perl 5.10, Python 2.6, Ruby 1.9, Jenkins, DIY...
Web Cartridges
Instant applications
• Web Cartridge
Creating an Application• Choose a name
• Create!
Ready, Set, Code!
Extend... (or start over!)
Tekst
Gears
• 500 Mb memory
• 1 Gb Storage
Embedded Gears:MySQL, PostgreSQL, MongoDB, PHPMyAdmin,RockMongo, Jenkins,HAProxy,Metrics,Cron,Gen-MMS-Agent
• Name app and define type$ rhc app create -a <appname> -t <apptype> -l <openshiftlogin>
• Add application to local repo
$ cd <appname>$ # add files, change them, etc!$ git add .
• Commit changes
$ git commit -m “Initial app import.”
And Now with the Command Line
DEPLOY$ git push (Git hooks) In your git repository: .openshift/action_hooks/pre_build.openshift/action_hooks/build.openshift/action_hooks/deploy.openshift/action_hooks/post_deploy
EASY!
Oh yeah, Developer Studio!
1, 2, 3, Go
Hot Deployments!Works for JBoss AS7, PHP and Ruby.Add marker file:$ touch .openshift/markers/hot_deploy
... remember, you still have to live inside the memory footprint -- there’s also Jenkins!
No More Passwords! (bash)
Save password in ~/.openshift/.pwd
$ chmod 600 ~/.openshift/.pwd$ function rhc() { `which rhc` “$@” -p “`cat ~/.openshift/.pwd`” # -l $login also, if you want}
Tips & Tricks
Git Configautosetuprebase=true
can cause problems... unless you’re a git guru!
DEMO TIME!
Designer$ rhc app create -a editor -t jbossas-7$ cd editor$ git remote add upstream -m master git://github.com/eschabell/openshift-webdesigner-jbpmmigration.git$ git pull -s recursive -X theirs upstream master$ git push
http://editor-$yourDomain.rhcloud.com/designer/editor?profile=jbpm&uuid=123
$ rhc app create -a swyesb -t jbossas-7$ cd swyesb$ git remote add upstream -m master git://github.com/eschabell/switchyard-openshift.git$ git pull -s recursive -X theirs upstream master$ git apply standalone.diff$ git push
http://swyesb-$yourDomain.rhcloud.com/swydws/OrderService?wsdl
$ rhc app create -a ceylon -t jbossas-7$ cd ceylon$ git remote add upstream -m master git://github.com/eschabell/ceylon-openshift.git$ git pull -s recursive -X theirs upstream master$ git push
http://ceylon-$yourDomain.rhcloud.com
$ rhc app create -a redmine -t ruby-1.9$ rhc app cartridge add -a redmine -c mysql-5.1$ cd redmine$ git remote add upstream -m master git://github.com/openshift/redmine-2.0-openshift-quickstart.git$ git pull -s recursive -X theirs upstream master$ git push
http://portal-$yourDomain.rhcloud.com/portal
Redmine
$ rhc app create -a capedwarf -t jbossas-7$ cd capedwarf$ git remote add upstream git://github.com/openshift/capedwarf-example.git$ git pull -s recursive -X theirs upstream master$ git push
http://capedwarf-$yourDomain.rhcloud.com/
$ rhc app create -a nodejs -t nodejs-0.6$ cd nodejs$ git remote add upstream git://github.com/openshift/nodejs-example.git$ git pull -s recursive -X theirs upstream master$ git push
http://nodejs-$yourDomain.rhcloud.com/
DIY: Do It Yourself$ rhc app create -a diy -t diy-0.1$ cd diy$ git remote add upstream git://github.com/openshift/openshift-diy-java-demo.git$ git pull -s recursive -X theirs upstream master# modify html/index.html and commit$ git push
http://diy-$yourDomain.rhcloud.com/
Getting finished
Local PaaS
Runs on Virtual Box (or virtmanager on linux)
Amazon AMI’s can also be created.
Open Source
Oct 17, 2011Nov 15, 2011Dec 9, 2011Dec 20, 2011Jan 17, 2012Feb 7, 2012Feb 21, 2012March 5, 2012March 22, 2012May 15, 2012June 26, 2012July 18, 2012Aug 8, 2012Aug 28, 2012Sep 18, 2012Oct 21, 2012
Progress• Frequent releases
• Vote on Featureshttps://openshift.redhat.com/community/ideas
• Get involvedhttps://openshift.redhat.com/community/get-involved
Links, Info, IRC, email, ...Openshift http://openshift.redhat.com
Example projects you can deploy now as in -- during this talk -- but, you wouldn’t right? I’m still talking!
https://www.github.com/openshift
Help? IRC freenode #openshift
Forums http://www.redhat.com/openshift/community/forums
Email openshift at redhat dot
Questions?
Photos/Images:all. OpenShift http://www.openshift.com
5, 34. “The Endeavor Lifts Off” http://www.flickr.com/photos/stuckincustoms/5896504098/6. “Hammers” http://www.nytimes.com/2011/08/11/garden/roy-mackeys-hammer-art.html7. “Warp Speed” http://www.flickr.com/photos/19942094@N00/4937185452/ (Randy Le’Moine Photography)8. “NEC wide screen” http://www.finalsense.com/news/image/display/nec-crvd-lcd.jpg9. “Damn!” (borking) http://www.flickr.com/photos/lore/431644237/19. “Inner Gears” http://terrifyingteddy.deviantart.com/art/Inner-Gears-18507686521. “Happy Dance” http://www.flickr.com/photos/jefito/2926851715/26. “Blue Explosion” http://kyoakuno.deviantart.com/art/Blue-Explosion-9369437627, 28, 29, 31. Logo’s (various projects) http://design.jboss.org/30. “Ruby on Rails logo” http://media.smashingmagazine.com/images/introduction-to-rails/rails.jpg32. “Node.js logo” http://nodejs.org/logos/38. “Wat” http://knowyourmeme.com/photos/173583, http://knowyourmeme.com/photos/195379
Credits:
THANKS:Eric D. Schabell, John Graham, Devoxx, JBoss, the convenience store around the corner, Linux, Eclipse, Staffworld (UMD CS), “Steal This Presentation!”, Noise Pop, Skip Grant, and last, but not least, the OpenShift team!