Accelerate Your PaaS to the Mobile World
Silicon Valley Code Camp, October 2012
Mark Prichard, CloudBees




                 ©2011 Cloud Bees, Inc. All Rights Reserved
Mark Prichard – My Back Pages
                             • Cambridge University Computer
                               Lab, 1990-1991
                             • Logica/SHL/CSC: 1991-2000
                                    – Integration/Middleware Specialist
                                    – Managing Consultant
                             • BEA Systems, 2000-2008
                                    – Senior Architect, EMEA
                                    – Director, Java Virtualization
@mqprichard                  • Oracle, 2008 -2012
mprichard@cloudbees.com             – WebLogic Platform PM
                                    – FMW Web Tier PM
blogs.cloudbees.com
Clouds, Bees and Blogs       • CloudBees, 2012
                                    – Senior Director of Product Management


                          ©2011 CloudBees, Inc. All Rights Reserved           2
Source Code Links for Today‟s Session
• Mobile CI
  – GitHub: MongoChess Server
  – GitHub: StockFish for iOS
  – GitHub: DroidFish for Android
  – Jenkins Configuration for Mobile CI

• Google App Engine CI
  – GitHub: Java Example for App Engine
  – GitHub: Python Example for App Engine

                                            3
Agenda
• PaaS - Quick Overview
• Continuous Integration - Jenkins
• Mobile CI with Jenkins in the Cloud
• Demos (Android/iOS plus REST server)
• Demos (Google App Engine builds w/
  Jenkins)
• Hands-On Lab:
    – Try out my examples or build your own
    – Cloud ClickStarts: Scala, Lift, Play! And more
    – BYO App

                  ©2011 CloudBees, Inc. All Rights Reserved   4
Step 1: Sign Up with CloudBees
• Free and complete for developers
• One click to get started with Jenkins,
  Play!, Lift, Scala, Sencha, Clojure,
  Backbone.js and more: all you need is a
  browser




       www.cloudbees.com/signup
                                            5
Architectural Overview
     of the CloudBees PaaS

blog.cloudbees.com
External Overview of CloudBees PaaS
                                                                                        cloudbees.com
                                                                             Partner
                                                          Test              Ecosystem




                             Forge Repositories
                       Git
           Grand                                                                               Session
          Central                                                                             Clustering
            Web                                          Jenkins
                       SVN                        Code              Stage
          Console                                        Master

 SDK                   mvn
                                                                                                   Router
           CloudBees                                      Build
              API                                                             Application


                                                         Jenkins
                                                         Executor                             MySQL




   Developer and
                                                  Development                           Runtime              End User
    Operations
                                                    Services                            Services            Interaction
    Interaction




                                                                                                                          7
ClickStarts – Defining Service Composition

                                                                                            cloudbees.com
                                                                                 Partner
                                                              Test              Ecosystem




                                 Forge Repositories
                           Git
               Grand                                                                              Session
              Central                                                                            Clustering
                Web                                          Jenkins
                           SVN                        Code              Stage
              Console                                        Master

  SDK                                                                                              Router
                           mvn
               CloudBees                                      Build
                  API                                                             Application


                                                             Jenkins
                                                             Executor                            MySQL




                            • Reusable templates specifying any or all of the information
                              needed to build an application from source code, deploy it to
        ClickStarts:          CloudBees, and connect it to other runtime services
                            • Specifies the named runtime that will be used for the app




                                                        ©2012 CloudBees, Inc.
                                                          All rights reserved                                 8
ClickStacks – Defining Application Runtimes

                                                                                            cloudbees.com
                                                                                 Partner
                                                              Test              Ecosystem




                                 Forge Repositories
                           Git
               Grand                                                                              Session
              Central                                                                            Clustering
                Web                                          Jenkins
                           SVN                        Code              Stage
              Console                                        Master

  SDK                                                                                              Router
                           mvn
               CloudBees                                      Build
                  API                                                             Application


                                                             Jenkins
                                                             Executor                            MySQL




                           • Reusable templates specifying the set of server-side components that
                             will be assembled and managed as a runtime to support your app
                                  • One ClickStack runtime is expected to be re-used by many apps
        ClickStacks:              • Examples – Tomcat, JBoss, Java, Play!, LifeRay, ColdFusion; …
                           • Open model for creating new named runtimes for your use and to
                             share with others



                                            ©2012 CloudBees, Inc.
                                       Confidential, Provided Under NDA                                       9
Continuous Integration
       and Jenkins in the
              Cloud

blog.cloudbees.com
Continuous Integration
•   What is Continuous Integration?
•   What is Jenkins?
•   What‟s needed for CI of Mobile Apps?
•   Demos
    – iOS Build, Test, Distribution
    – Android Build, Test, Distribution
    – Multi-device Matrixed Builds
• Try it: set up your own builds

                   ©2011 CloudBees, Inc. All Rights   11
                             Reserved
So what‟s Jenkins?
• Community-driven OSS project
  – http://jenkins-ci.org/
  – Used to be called Hudson
• A member project of SPI*
• Webapp written in Java
• Actively developed
  – Over 7 years of history, 440+ releases
  – 600+ plugins, 300+ developers
   * Software in Public Interest, NPO. http://spi-inc.org/

                                                             12
Sample tasting on things you do w/Jenkins
• Build your Maven projects every time
  someone commits a change
• FindBugs metric tracking. Ensure that # of
  defects goes down
• Multi-platform concurrent Selenium test
  execution
• IRC/jabber/campfire bot/notification
  interface
• Emulator-based Android testing with
  automatic emulator management
                                               13
What makes Jenkins so popular?
• Community and its 600+ plugins
  – Integrates Jenkins to just about any tools
    you can imagine
  – Or more precisely, the ecosystem and the
    community that‟s capable of producing it
• Ease of installation, ease of use
• Distributed builds
  – As a means to deal with abundance of
    computing power

                                                 14
Continuous Integration
         for Mobile Apps

blog.cloudbees.com
Why Jenkins in the Cloud for mobile CI?
• To let developers focus on developing
  – Leave building, packaging, testing, distributing
    to a computer
  – Make the right thing the easiest thing
• Many, well-adopted mobile development
  plugins
  – Safety in numbers
• “Distributed builds” for scaling with workload
• “Matrix project” for easy cross device testing

                                                       16
Demo: Chess Server with Mobile Clients
• iOS mobile app
  – Build/test using Jenkins
  – MacOS slaves for builds
  – TestFlight push to beta
    testers
• Android mobile app
  – Build/test using Jenkins
  – Matrixed builds for multiple
    device configs
• Java + MongoDB server
  – Running on CloudBees PaaS
  – Build/test/deploy via Jenkins
                                         17
Fun App – but „Real‟ Java Development
• Built using Eclipse, Maven, Junit, JAX-RS, JAX-B,
  gson …
• Git repository, Jenkins build/test and app deployment
  all running on AWS using CloudBees PaaS
• Free to develop: enterprise-grade runtime services




                                                          18
Jenkins to the Rescue
                               iOS
                         Packaging/Distri             Source Code
                             bution                    Repository

     iOS TouchTest                                      iOS Development
                                                             (Xcode)


Integration/Func
  tional Testing                            Jenkins
                                                                iOS App
                                                             Build/Unit Test



             Services                                   Services
            Deployment                                Development
                                      Services          (Eclipse)
                                   Build/Unit Test

                                                                           19
Jenkins in the Cloud: Android
• Android App built from GitHub
  – Build/test by Jenkins entirely in the cloud
  – Matrixed build supports multiple device
    configs
  – Build slaves for tethered devices




                                                  20
Jenkins in the Cloud: iOS Builds
• iOS App built from GitHub
  – Jenkins Xcode builds/tests run on MacOS
    slaves
  – Scripted integration tests
  – iOS app archive/packaging/distribution via
    TestFlight using Jenkins plug-in
• Mobile CI Examples and Blogs online
  – https://partnerdemo.ci.cloudbees.com/
  – Full details on http://blog.cloudbees.com/


                                                 21
Continuous Delivery
     for Google App Engine
       with CloudBees and
             Jenkins

blog.cloudbees.com
1. You write the code


2. Jenkins builds and tests your
app in the cloud…


         3. …and automatically
         deploys to Google App
         Engine
                                   23
Step 1. Link your Google Account




    http://appengine.cloudbees.com/
                                      24
Step 2. Start Using Jenkins for App
Engine




     http://appengine.cloudbees.com/
                                       25
Step 3. Build and Deploy to App Engine




                                         26
THANK YOU

         mprichard@cloudbees.com
           Twitter: @mqprichard

blog.cloudbees.com

More Related Content

PPTX
Successful PaaS and CI in the Cloud - EclipseCon 2012
PDF
Sail Fin Webinar Overview
PDF
Marakana Android Internals
PDF
Android Internals
PDF
Android for Java Developers at OSCON 2010
PDF
Android: A 9,000-foot Overview
PDF
V fabric overview
PDF
Android For Managers Slides
Successful PaaS and CI in the Cloud - EclipseCon 2012
Sail Fin Webinar Overview
Marakana Android Internals
Android Internals
Android for Java Developers at OSCON 2010
Android: A 9,000-foot Overview
V fabric overview
Android For Managers Slides

What's hot (20)

PPTX
WebClient Overview and 1.8 Roadmap
PDF
OSCON 2012 OpenStack Automation and DevOps Best Practices
PDF
g Eclipse @ Eclipse Summit Europe 2008
PPTX
Private cloud infrastructure configure and deploy 24 hiapc fabrizio volpe
PPTX
Cloud Foundry Open Tour Keynote
PPTX
2020-02-10 Java on Azure Solution Briefing
PDF
Open Source Licenses and Tools
PDF
Cf intro for spring devs
PDF
Cloud Foundry Bootcamp
PDF
WebLogic im neuen Gewand
PDF
Java Microservices HJUG
KEY
Magnolia CMS 5.0 - Architecture
PDF
Enterprise Java on Azure: From Java EE to Spring, we have you covered
PDF
Building your private cloud the ncs experience harrison lee
PPTX
Building a Hybrid Cloud
PDF
Open stack for open source private cloud 20120425-shanghai
PPTX
Getting Started Developing with Platform as a Service
PDF
Oracle SOA Suite Everywhere
PPTX
Sv jug - mar 2013 - sl
WebClient Overview and 1.8 Roadmap
OSCON 2012 OpenStack Automation and DevOps Best Practices
g Eclipse @ Eclipse Summit Europe 2008
Private cloud infrastructure configure and deploy 24 hiapc fabrizio volpe
Cloud Foundry Open Tour Keynote
2020-02-10 Java on Azure Solution Briefing
Open Source Licenses and Tools
Cf intro for spring devs
Cloud Foundry Bootcamp
WebLogic im neuen Gewand
Java Microservices HJUG
Magnolia CMS 5.0 - Architecture
Enterprise Java on Azure: From Java EE to Spring, we have you covered
Building your private cloud the ncs experience harrison lee
Building a Hybrid Cloud
Open stack for open source private cloud 20120425-shanghai
Getting Started Developing with Platform as a Service
Oracle SOA Suite Everywhere
Sv jug - mar 2013 - sl
Ad

Viewers also liked (11)

PPTX
Running productioninstance 1-localcopy
PDF
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
PPT
How can Liferay Developers, Deployers move to the Cloud
PDF
Pimp your jenkins platform with docker - Devops.com 2015/11
PPTX
CloudBees
PDF
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
PPT
Continuous integration
PDF
Yale Jenkins Show and Tell
PDF
Jenkins CI
PPTX
Taking Control of your Data with GraphQL
PPT
CI and CD with Jenkins
Running productioninstance 1-localcopy
JUC Europe 2015: Continuous Integration and Distribution in the Cloud with DE...
How can Liferay Developers, Deployers move to the Cloud
Pimp your jenkins platform with docker - Devops.com 2015/11
CloudBees
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
Continuous integration
Yale Jenkins Show and Tell
Jenkins CI
Taking Control of your Data with GraphQL
CI and CD with Jenkins
Ad

Similar to Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012 (20)

PDF
Operating the Hyperscale Cloud
PDF
Venus-c: Using open source clouds in eScience
 
PPTX
DevOps and Cloud at NI
PDF
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
PDF
Paving the Way to IT-as-a-Service
PPTX
NIC 2013 - Configure and Deploy Private Cloud
PPTX
SPEC INDIA Java Case Study
PPT
IBM Pulse 2013 session - DevOps for Mobile Apps
PDF
Stairway to heaven webinar
PPTX
Orchestration & provisioning
PPTX
Dell web monsters-oct2011-v6-public
PDF
Mon1420 build clouds-oliviermaes-citrix
PDF
Cloud Foundry Anniversary: Technical Slides
PPTX
Kubernetes for the VI Admin
PDF
Kubernetes from the Ground Up
PDF
Java on Your Terms with Azure
PDF
Plugin Overview I and II
PPTX
PDF
Inaugural address manjusha - Indicthreads cloud computing conference 2011
Operating the Hyperscale Cloud
Venus-c: Using open source clouds in eScience
 
DevOps and Cloud at NI
XebiaLabs, CloudBees, Puppet Labs Webinar Slides - IT Automation for the Mode...
Paving the Way to IT-as-a-Service
NIC 2013 - Configure and Deploy Private Cloud
SPEC INDIA Java Case Study
IBM Pulse 2013 session - DevOps for Mobile Apps
Stairway to heaven webinar
Orchestration & provisioning
Dell web monsters-oct2011-v6-public
Mon1420 build clouds-oliviermaes-citrix
Cloud Foundry Anniversary: Technical Slides
Kubernetes for the VI Admin
Kubernetes from the Ground Up
Java on Your Terms with Azure
Plugin Overview I and II
Inaugural address manjusha - Indicthreads cloud computing conference 2011

More from CloudBees (20)

PDF
JUC Europe 2015: Scaling Your Jenkins Master with Docker
PDF
JUC Europe 2015: Plugin Development with Gradle and Groovy
PDF
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
PDF
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
PDF
JUC Europe 2015: Jenkins Made Easy
PDF
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
PDF
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
PDF
JUC Europe 2015: Hey! What Did We Just Release?
PDF
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
PDF
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
PDF
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
PDF
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
PDF
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
PDF
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
PDF
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
PDF
JUC Europe 2015: Evolving the Jenkins UI
PDF
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
PDF
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
PDF
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
PDF
JUC Europe 2015: Configuration as Code: The Job DSL Plugin
JUC Europe 2015: Scaling Your Jenkins Master with Docker
JUC Europe 2015: Plugin Development with Gradle and Groovy
JUC Europe 2015: Multi-Node Environment as a Jenkins Slave (Compound-Slave)
JUC Europe 2015: The Famous Cows of Cambridge: A Non-Standard Use Case for Je...
JUC Europe 2015: Jenkins Made Easy
JUC Europe 2015: Scaling of Jenkins Pipeline Creation and Maintenance
JUC Europe 2015: From Virtual Machines to Containers: Achieving Continuous In...
JUC Europe 2015: Hey! What Did We Just Release?
JUC Europe 2015: Orchestrating Your Pipelines with Jenkins, Python and the Je...
JUC Europe 2015: Jenkins Pipeline for Continuous Delivery of Big Data Projects
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Optimizing Your CI: Lessons Learned from a Successful Jenkin...
JUC Europe 2015: Enabling Continuous Delivery for Major Retailers
JUC Europe 2015: Bringing CD at Cloud-Scale with Jenkins, Docker and "Tiger"
JUC Europe 2015: Making Strides towards Enterprise-Scale DevOps...with Jenkin...
JUC Europe 2015: Evolving the Jenkins UI
JUC Europe 2015: Using Infrastructure Nodes Wisely With Jenkins and Apache Mesos
JUC Europe 2015: How to Optimize Automated Testing with Everyone's Favorite B...
JUC 2015 - Keynote Address and Opening Remarks by Kohsuke Kawaguchi, Founder,...
JUC Europe 2015: Configuration as Code: The Job DSL Plugin

Recently uploaded (20)

PDF
The AI Revolution in Customer Service - 2025
PDF
Co-training pseudo-labeling for text classification with support vector machi...
PDF
Connector Corner: Transform Unstructured Documents with Agentic Automation
PDF
giants, standing on the shoulders of - by Daniel Stenberg
PDF
A symptom-driven medical diagnosis support model based on machine learning te...
PDF
Introduction to MCP and A2A Protocols: Enabling Agent Communication
PDF
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
PDF
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
PDF
Early detection and classification of bone marrow changes in lumbar vertebrae...
PPTX
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
PDF
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
PDF
Advancing precision in air quality forecasting through machine learning integ...
PDF
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
PDF
Ensemble model-based arrhythmia classification with local interpretable model...
PDF
Rapid Prototyping: A lecture on prototyping techniques for interface design
PDF
Data Virtualization in Action: Scaling APIs and Apps with FME
PDF
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
DOCX
Basics of Cloud Computing - Cloud Ecosystem
PDF
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
PPTX
SGT Report The Beast Plan and Cyberphysical Systems of Control
The AI Revolution in Customer Service - 2025
Co-training pseudo-labeling for text classification with support vector machi...
Connector Corner: Transform Unstructured Documents with Agentic Automation
giants, standing on the shoulders of - by Daniel Stenberg
A symptom-driven medical diagnosis support model based on machine learning te...
Introduction to MCP and A2A Protocols: Enabling Agent Communication
Transform-Quality-Engineering-with-AI-A-60-Day-Blueprint-for-Digital-Success.pdf
The-2025-Engineering-Revolution-AI-Quality-and-DevOps-Convergence.pdf
Early detection and classification of bone marrow changes in lumbar vertebrae...
AI-driven Assurance Across Your End-to-end Network With ThousandEyes
AI.gov: A Trojan Horse in the Age of Artificial Intelligence
Advancing precision in air quality forecasting through machine learning integ...
zbrain.ai-Scope Key Metrics Configuration and Best Practices.pdf
Ensemble model-based arrhythmia classification with local interpretable model...
Rapid Prototyping: A lecture on prototyping techniques for interface design
Data Virtualization in Action: Scaling APIs and Apps with FME
Transform-Your-Supply-Chain-with-AI-Driven-Quality-Engineering.pdf
Basics of Cloud Computing - Cloud Ecosystem
A hybrid framework for wild animal classification using fine-tuned DenseNet12...
SGT Report The Beast Plan and Cyberphysical Systems of Control

Accelerate your PaaS to the Mobile World: Silicon Valley Code Camp 2012

  • 1. Accelerate Your PaaS to the Mobile World Silicon Valley Code Camp, October 2012 Mark Prichard, CloudBees ©2011 Cloud Bees, Inc. All Rights Reserved
  • 2. Mark Prichard – My Back Pages • Cambridge University Computer Lab, 1990-1991 • Logica/SHL/CSC: 1991-2000 – Integration/Middleware Specialist – Managing Consultant • BEA Systems, 2000-2008 – Senior Architect, EMEA – Director, Java Virtualization @mqprichard • Oracle, 2008 -2012 [email protected] – WebLogic Platform PM – FMW Web Tier PM blogs.cloudbees.com Clouds, Bees and Blogs • CloudBees, 2012 – Senior Director of Product Management ©2011 CloudBees, Inc. All Rights Reserved 2
  • 3. Source Code Links for Today‟s Session • Mobile CI – GitHub: MongoChess Server – GitHub: StockFish for iOS – GitHub: DroidFish for Android – Jenkins Configuration for Mobile CI • Google App Engine CI – GitHub: Java Example for App Engine – GitHub: Python Example for App Engine 3
  • 4. Agenda • PaaS - Quick Overview • Continuous Integration - Jenkins • Mobile CI with Jenkins in the Cloud • Demos (Android/iOS plus REST server) • Demos (Google App Engine builds w/ Jenkins) • Hands-On Lab: – Try out my examples or build your own – Cloud ClickStarts: Scala, Lift, Play! And more – BYO App ©2011 CloudBees, Inc. All Rights Reserved 4
  • 5. Step 1: Sign Up with CloudBees • Free and complete for developers • One click to get started with Jenkins, Play!, Lift, Scala, Sencha, Clojure, Backbone.js and more: all you need is a browser www.cloudbees.com/signup 5
  • 6. Architectural Overview of the CloudBees PaaS blog.cloudbees.com
  • 7. External Overview of CloudBees PaaS cloudbees.com Partner Test Ecosystem Forge Repositories Git Grand Session Central Clustering Web Jenkins SVN Code Stage Console Master SDK mvn Router CloudBees Build API Application Jenkins Executor MySQL Developer and Development Runtime End User Operations Services Services Interaction Interaction 7
  • 8. ClickStarts – Defining Service Composition cloudbees.com Partner Test Ecosystem Forge Repositories Git Grand Session Central Clustering Web Jenkins SVN Code Stage Console Master SDK Router mvn CloudBees Build API Application Jenkins Executor MySQL • Reusable templates specifying any or all of the information needed to build an application from source code, deploy it to ClickStarts: CloudBees, and connect it to other runtime services • Specifies the named runtime that will be used for the app ©2012 CloudBees, Inc. All rights reserved 8
  • 9. ClickStacks – Defining Application Runtimes cloudbees.com Partner Test Ecosystem Forge Repositories Git Grand Session Central Clustering Web Jenkins SVN Code Stage Console Master SDK Router mvn CloudBees Build API Application Jenkins Executor MySQL • Reusable templates specifying the set of server-side components that will be assembled and managed as a runtime to support your app • One ClickStack runtime is expected to be re-used by many apps ClickStacks: • Examples – Tomcat, JBoss, Java, Play!, LifeRay, ColdFusion; … • Open model for creating new named runtimes for your use and to share with others ©2012 CloudBees, Inc. Confidential, Provided Under NDA 9
  • 10. Continuous Integration and Jenkins in the Cloud blog.cloudbees.com
  • 11. Continuous Integration • What is Continuous Integration? • What is Jenkins? • What‟s needed for CI of Mobile Apps? • Demos – iOS Build, Test, Distribution – Android Build, Test, Distribution – Multi-device Matrixed Builds • Try it: set up your own builds ©2011 CloudBees, Inc. All Rights 11 Reserved
  • 12. So what‟s Jenkins? • Community-driven OSS project – http://jenkins-ci.org/ – Used to be called Hudson • A member project of SPI* • Webapp written in Java • Actively developed – Over 7 years of history, 440+ releases – 600+ plugins, 300+ developers * Software in Public Interest, NPO. http://spi-inc.org/ 12
  • 13. Sample tasting on things you do w/Jenkins • Build your Maven projects every time someone commits a change • FindBugs metric tracking. Ensure that # of defects goes down • Multi-platform concurrent Selenium test execution • IRC/jabber/campfire bot/notification interface • Emulator-based Android testing with automatic emulator management 13
  • 14. What makes Jenkins so popular? • Community and its 600+ plugins – Integrates Jenkins to just about any tools you can imagine – Or more precisely, the ecosystem and the community that‟s capable of producing it • Ease of installation, ease of use • Distributed builds – As a means to deal with abundance of computing power 14
  • 15. Continuous Integration for Mobile Apps blog.cloudbees.com
  • 16. Why Jenkins in the Cloud for mobile CI? • To let developers focus on developing – Leave building, packaging, testing, distributing to a computer – Make the right thing the easiest thing • Many, well-adopted mobile development plugins – Safety in numbers • “Distributed builds” for scaling with workload • “Matrix project” for easy cross device testing 16
  • 17. Demo: Chess Server with Mobile Clients • iOS mobile app – Build/test using Jenkins – MacOS slaves for builds – TestFlight push to beta testers • Android mobile app – Build/test using Jenkins – Matrixed builds for multiple device configs • Java + MongoDB server – Running on CloudBees PaaS – Build/test/deploy via Jenkins 17
  • 18. Fun App – but „Real‟ Java Development • Built using Eclipse, Maven, Junit, JAX-RS, JAX-B, gson … • Git repository, Jenkins build/test and app deployment all running on AWS using CloudBees PaaS • Free to develop: enterprise-grade runtime services 18
  • 19. Jenkins to the Rescue iOS Packaging/Distri Source Code bution Repository iOS TouchTest iOS Development (Xcode) Integration/Func tional Testing Jenkins iOS App Build/Unit Test Services Services Deployment Development Services (Eclipse) Build/Unit Test 19
  • 20. Jenkins in the Cloud: Android • Android App built from GitHub – Build/test by Jenkins entirely in the cloud – Matrixed build supports multiple device configs – Build slaves for tethered devices 20
  • 21. Jenkins in the Cloud: iOS Builds • iOS App built from GitHub – Jenkins Xcode builds/tests run on MacOS slaves – Scripted integration tests – iOS app archive/packaging/distribution via TestFlight using Jenkins plug-in • Mobile CI Examples and Blogs online – https://partnerdemo.ci.cloudbees.com/ – Full details on http://blog.cloudbees.com/ 21
  • 22. Continuous Delivery for Google App Engine with CloudBees and Jenkins blog.cloudbees.com
  • 23. 1. You write the code 2. Jenkins builds and tests your app in the cloud… 3. …and automatically deploys to Google App Engine 23
  • 24. Step 1. Link your Google Account http://appengine.cloudbees.com/ 24
  • 25. Step 2. Start Using Jenkins for App Engine http://appengine.cloudbees.com/ 25
  • 26. Step 3. Build and Deploy to App Engine 26
  • 27. THANK YOU [email protected] Twitter: @mqprichard blog.cloudbees.com

Editor's Notes

  • #8: Let’s start by a quick overview of how you experience the CloudBees PaaS today. We host and deliver a complete Java platform as a service to support you from development all the way through deployment of production applications. <Build> As a developer or person charged with operations of production applications, your unified view is through our GrandCentral web console. GrandCentral is really just a user interface on top of our rich API, which developers also access through our SDK or through our Eclipse plugin. <Build> For developers, we host a set of development services. These include the Jenkins Continuous Integration Server, used to drive builds, testing, and promoting or staging of your application as you check code and artifacts in to either our hosted Forge repositories. A unique feature of our hosted CI service is that we make use of cloud resources on-demand to speed up your builds and take care of the spiky nature of continuous integration at a very low cost. You can of course use your own source code control system, or an external one like GitHub. <Build> We then also provide a set of Runtime Services so you can deploy your application on your choice of JVM runtimes, and a hosted MySQL database service. Our session clustering service makes it simple to maintain Java session state between application instance, to ensure no loss of transactions in the event of failure, and make scale-out seamless. You can access your deployed application instantly, for testing or internal evaluation, or you can map your own domain names and URLs to your end users interact with the hosted application in the way you and they would normally expect. Both Development and Runtime Services are integrated with many hosted partner services, so fpr example, you get built-in access to best-of-breed monitoring, logging, and testing tools just by selecting them in Grand Central.Now, let’s step back and see what things look like under the covers – a peek into what we call our AnyCloud architecture that lets us really deliver this platform as a service.