Contenu connexe Similaire à Custom Runtimes for the Cloud (20) Custom Runtimes for the Cloud1. Custom Runtimes for the Cloud
ClickStarts and ClickStacks Explained
Mark Prichard, CloudBees
February 22, 2013
4. CloudBees on One Slide
cloudbees.com
Jenkins
Master
Test
Stage
Build
Code
Jenkins
Executor
ForgeRepositories
Git
SVN
mvn
Development
Services
(DEV@cloud)
Developer and
Operations
Interaction
End User
Interaction
Runtime
Services
(RUN@cloud)
CloudBees
API
Grand
Central
Web
Console
SDK
Session
Clustering
MySQL
Router
Application
Partner
Ecosystem
Multi-
Tenanted
Dedicated
Amazon Web Services
4©2013 CloudBees, Inc. All Rights Reserved
6. • I am starting to work with in a new project and need to
get going quickly
• I need to learn about a new framework and want to
learn using a working example
• I want to hand off my project to a customer
• I want to formally capture the work I have done so
others in my team can re-use it
Typical Problems
6
ClickStarts to the rescue!
©2013 CloudBees, Inc. All Rights Reserved
https://github.com/CloudBees-community/java-rest-backbone
7. By The Way – Do You Like Our New Dashboard?
7©2013 CloudBees, Inc. All Rights Reserved
8. cloudbees.com
Use this
clickstart.json to
create a working app!
The Magic Behind ClickStarts
8
CloudBees
Git
Repo
Database
Build/Test
db:create
App
Partner
Service
Partner
Service
CloudBees
API
Grand
Central
Web
Console
Bind
Bind
Trigger
Deploy
Wow! At your
service
©2013 CloudBees, Inc. All Rights Reserved
9. cloudbees.com
Modifying an App after ClickStarting
9©2013 CloudBees, Inc. All Rights Reserved
CloudBees
Git
Repo
Database
Build/Test
App
Partner
Service
Partner
Service
Bind
Bind
Trigger
DeployI want to make some
changes!
Local Git
Repo
gitcommit
Changes
Wow! At your
service
10. Let’s Take a Closer Look – Java EE 6 Web
Profile
10©2013 CloudBees, Inc. All Rights Reserved
11. What Actually Happened There?
11©2013 CloudBees, Inc. All Rights Reserved
https://grandcentral.cloudbees.com/#CB_clickstart=https://raw.github.c
om/CloudBees-community/jboss-db-example/master/clickstart.json
12. ClickStart.json: Putting It All Together
12©2013 CloudBees, Inc. All Rights Reserved
{
"id": "jboss-db-example",
"name": "Java EE 6 Web Profile",
"source": "git://github.com/CloudBees-community/jboss-db-example.git",
"description" : "A full Java EE 6 Web Profile application, with a database and continuous deployment",
"doc-url" : "https://github.com/CloudBees-community/jboss-db-example/blob/master/readme.md",
"icon" : "https://d3ko533tu1ozfq.cloudfront.net/clickstart/ee_icon.png",
"app-package" : "https://s3.amazonaws.com/cloudbees-downloads/clickstart/jboss-db-example.war",
"supported-by" : "cloudbees",
"order" : 1,
"runtime": {
"type": "jboss"
},
"databases": [
{
"type": "mysql",
"alias": "ExampleDS"
}
],
"build-with-jenkins": {
"template": {
"type": "maven",
"options": {
}
}
}
}
13. On Demand: Repo, Build Job, App and Database
13©2013 CloudBees, Inc. All Rights Reserved
15. How an App Becomes a Stack– Java Example
15
Java App (jar)
Infrastructure
Java VM
Java APICloudBees-Curated
Stack
User-Created
CloudBees-Curated
Java EE App (war)
Infrastructure
Java VM
Java APICloudBees-Curated
Stack
User-Created
CloudBees-Curated
Java EE (jars)
• Interaction is with the JavaVM and API
• Deployment unit is jar file
• Interaction is with the Java EE Server
• Deployment unit is war file
• Extensions thru container contract and
vendor facilities
Java Runtime Stack Java EE Runtime Stack
©2013 CloudBees, Inc. All Rights Reserved
16. Frictionless Extension and Reuse
Customer &
SI Managed
Community
Managed
CloudBees
Curated
Fork
Push Push Clone
16©2013 CloudBees, Inc. All Rights Reserved
17. • Tomcat
• JBoss
• Java
• Tomcat 7
• JBoss 7.1
• Glassfish 3
• node.js
• Play 2
• SBT
• Web Machine
Curated vs. Early Access Community Stacks
©2013 CloudBees, Inc. All Rights Reserved 17
CloudBees-Curated Early Access Community
Ref: http://developer.cloudbees.com/bin/view/RUN/ClickStack
18. • Tomcat
– Tomcat 6
– Tomcat 7 (Default for new)
• JBoss
– JBoss 7
– JBoss 7.1 (Default for new)
• Java
• Glassfish 3
• node.js
• Play 2
• SBT
• Web Machine
• PHP
• Drupal
Transition Underway from Community to Curated
©2013 CloudBees, Inc. All Rights Reserved 18
CloudBees-Curated Early Access Community
19. ClickStacks and ClickStarts – Better Together!
19©2013 CloudBees, Inc. All Rights Reserved
• Interaction is with Apache and PHP
• Deployment unit is PHP and HTML
files
• Interaction is with Drupal CMS
• Deployment unit is a web site Profile
• Extensions thru modules, libraries
PHP Runtime Stack Drupal Runtime Stack
PHP App (php)
Infrastructure
CloudBees-Curated
Stack
User-Created
CloudBees-Curated
Apache
PHP Interpreter
Site Profile (zip)
Infrastructure
CloudBees-Curated
Stack
User-Created
CloudBees-Curated
Drupal (zip)
Apache
PHP Interpreter
20. More Information
20©2013 CloudBees, Inc. All Rights Reserved
• Introduction to ClickStarts
• Develop your own ClickStart
• Introduction to ClickStacks
• Develop your own ClickStack
• Genapp Framework Documentation
• CloudBees-community on GitHub
• Please come to our Hangout to ask questions
21. • Register on CloudBees.com, it is free and complete:
– Deploy your app in the cloud!
– Store your data
– Do your build & test in the cloud
• Jenkins as a Service
• Repositories: Git, SVN, Maven/DAV
• Eclipse plugin
– Free program for FOSS projects
https://grandcentral.cloudbees.com/account/signup
Try It for Free
©20
12
Notes de l'éditeur The way you use ClickStarts and ClickStacks follows what is probably a familiar model. We host them in open source form on a Github-based CloudBees community site. You can fork them, and if you find a way to improve them, submit a pull request to us. Communities like Play and Scala are already doing this, but creating their own galleries of community-managed ClickStarts. And as I was saying, I think you will see customers of ours and SIs like you create brand-new ClickStarts and ClickStacks for use internally, to get new employees up to speed quicker, and to capture standards.