Mobile Development with Git, Gerrit & Jenkins



Similar documents
The Role of Feedback in Continuous Integration, Continuous Delivery and Agile ALM

Building Value with Continuous Integration

key benefits of CloudForge

Putting DevOps and the Hybrid Cloud into Practice with CollabNet TeamForge. Laurence Sweeney October 2012

Building Value with Continuous Integration

An Enterprise Cloud Development (ECD) Blueprint with TeamForge. An Implementation Checklist

DATASHEET COLLABNET TEAMFORGE

RELEASE HIGHLIGHTS INTRODUCING COLLABNET TEAMFORGE 8.2

Practicing Continuous Delivery using Hudson. Winston Prakash Oracle Corporation

Product Stack and Corporate Overview

Software Development. Overview.

Reinforcing Agile Software Development in the Cloud

Build Automation for Mobile. or How to Deliver Quality Apps Continuously. Angelo Rüggeberg

IKAN ALM and Collabnet TeamForge

Continuous Integration and Bamboo. Ryan Cutter CSCI Spring Semester

HP ALM11 & MS VS/TFS2010

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

Continuous Integration and Delivery at NSIDC

From Traditional Functional Testing to Enabling Continuous Quality in Mobile App Development

Gerrit and Jenkins for Big Data Continuous Delivery. Santa Clara, CA, September 2-3

Beginners guide to continuous integration. Gilles QUERRET Riverside Software

Mobile Testing, Agile Methodologies & You!

Application Lifecycle Management White Paper. Source Code Management Best Practice: Applying Economic Logic to Migration ALM

Version Control. Version Control

Beginner s guide to continuous integration. Gilles QUERRET Riverside Software

IT Home 2015 DevOps 研 討 會

DevOps. Jesse Pai Robert Monical 8/14/2015

Building a Continuous Integration Pipeline with Docker

Azure Day Application Development

Fundamentals of Continuous Integration

@CodenvyHQ

Jenkins Continuous Build System. Jesse Bowes CSCI-5828 Spring 2012

On the Edge of Mobility Building a Bridge to Quality October 22, 2013

Software Configuration Management and Continuous Integration

Source Control Systems

HP Agile Manager What we do

Software Development In the Cloud Cloud management and ALM

Software configuration management

Moving your development to the Cloud using Visual Studio Online

Modern practices TIE-21100/

Content. Development Tools 2(63)

Continuous Delivery Benefits, Best Practices and Practical Advice

Releasing High Quality Applications More Quickly with vrealize Code Stream

Hudson configuration manual

Development Testing for Agile Environments

Using Git with Rational Team Concert and Rational ClearCase in enterprise environments

Continuous???? Copyright 2015 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Software Continuous Integration & Delivery

What s new in the HP Functional Testing 11.5 suite Ronit Soen, product marketing John Jeremiah, product marketing

Pipeline Orchestration for Test Automation using Extended Buildbot Architecture

Continuous Integration

CPSC 491. Today: Source code control. Source Code (Version) Control. Exercise: g., no git, subversion, cvs, etc.)

Version Control Systems: SVN and GIT. How do VCS support SW development teams?

In depth study - Dev teams tooling

Lean and Kanban at Scale Extending Kanban across the portfolio, program and team levels. Al Shalloway, Net Objectives. September 4 th, 2014

Paul Barham Program Manager - Java. David Staheli (dastahel@microsoft.com) Software Development Manager - Java

Best Overall Use of Technology. Jaspersoft

Zero-Touch Drupal Deployment

Automation and Virtualization, the pillars of Continuous Testing

DevOps to Enterprise Agile

Test Automation Tool comparison HP UFT/QTP vs. Selenium - Prashant Malhotra

Adopting Agile Approaches for the Enterprise

Increasing frequency of releases to every week down from quarterly major releases

Continuous integration with Jenkins CI

Software Configuration Management. Slides derived from Dr. Sara Stoecklin s notes and various web sources.

Enhancing The ALM Experience

Coverity Services. World-class professional services, technical support and training from the Coverity development testing experts

Module 11 Setting up Customization Environment

AWS CodePipeline. User Guide API Version

Continuous Integration For Real: The Perforce Java Platform. Hamish Reid Perforce Software Inc.

Manual. CollabNet Subversion Connector to HP Quality Center. Version 1.2

Jenkins: The Definitive Guide

Delivering Quality Software with Continuous Integration

DRUPAL CONTINUOUS INTEGRATION. Part I - Introduction

Continuous Delivery for Alfresco Solutions. Satisfied customers and happy developers with!! Continuous Delivery!

SOFTWARE DEVELOPMENT BASICS SED

Application Lifecycle Management Using Visual Studio 2013 (SCRUM)

Building, Testing & Deploying Android Apps with Jenkins

Shifting Enterprise Development into the Fast Lane

Version Control with Git. Linux Users Group UT Arlington. Rohit Rawat

Know the Difference. Unified Functional Testing (UFT) and Lean Functional Testing (LeanFT) from HP

INCREASE YOUR WEBMETHODS ROI WITH AUTOMATED TESTING. Copyright 2015 CloudGen, LLC

@jenkinsconf. Maintaining huge Jenkins clusters - Have we reached the limit of Jenkins?

HP Application Lifecycle Management

Version Uncontrolled! : How to Manage Your Version Control

DevOps and SUSE From check-in to deployment

CloudCenter Full Lifecycle Management. An application-defined approach to deploying and managing applications in any datacenter or cloud environment

Continuous Integration (CI) for Mobile Applications

Work. MATLAB Source Control Using Git

MaaSter Microsoft Ecosystem Management with MaaS360. Chuck Brown Jimmy Tsang

Developer Workshop Marc Dumontier McMaster/OSCAR-EMR

Leveraging Rational Team Concert's build capabilities for Continuous Integration

Shorten release cycles by bringing developers to application lifecycle management. Business white paper for application team professionals

NTT i 3 Cloud Services Orchestration Platform

Transcription:

Mobile Development with Git, Gerrit & Jenkins Luca Milanesio luca@gerritforge.com June 2013 1 ENTERPRISE CLOUD DEVELOPMENT Copyright 2013 CollabNet, Inc. All Rights Reserved.

About CollabNet Founded in 1999 (San Francisco) with Open Source roots ALM leader per Gartner, Forrester, Info-Tech (2012) 10,000+ customers NEW: TeamForge 7 with Orchestrate (manages Git, SVN, Jenkins, ) Learn more at www.collab.net/teamforge7 2 Copyright 2013 CollabNet, Inc. All Rights Reserved.

About the Speaker Luca Milanesio Luca Milanesio is Director and cofounder of GerritForge LLP, the leading Git and Gerrit competence center for the Enterprise and key technology partner of CollabNet Inc. His background includes 20 years of experience in development management, software configuration management and software development lifecycle in large Enterprises worldwide. Just prior to GerritForge LLP, Luca was Technical Director and Senior Product of the Security and Compliance platform for Electronic Payments at Primeur in Italy and UK. Since starting GerritForge LLP, Luca contributed to the Gerrit community and allowed the introduction of Enterprise code-review workflow in large Enterprises worldwide. Thanks to GerritForge LLP and CollabNet Inc. TeamForge is now the most advanced ALM platform with integrated Git support and Code-Review for the Enterprise. 3 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Agenda Introduction and concepts The Android development success Git, Gerrit and the Android Open Source Project (AOSP) Mobile ALM and Continuous Delivery for Android Mobile ALM steps Jenkins as Android Integration engine Android Delivery beyond development 4 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Introduction and Concepts Git Most popular emerging distributed SCM Jenkins Most popular open source Continuous Integration Gerrit Code Review Widely used code-review based on Git CollabNet TeamForge Orchestrates the software delivery lifecycle, integrates Git, Gerrit, Jenkins and more. 5 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Android in numbers Launch date: October 2008 (less than 5 years ago) > 850,000 Apps / 40 BN Downloads (Source: http://en.wikipedia.org/wiki/google_play) Source: http://www.gartner.com/newsroom/id/2482816 6 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Reasons behind the success OEMs collaboration Developers Community contribution 7 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Tools that made Android king Branch / merge for OEMs Distributed = scalable Private vs. Public branches Open review to everyone repo COMMAND OPTIONS Manage multiple Git repo Simplify workflow 8 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Git and Android Why Git is perfect for Android development? 1. Android Development cheat-sheet TOPIC branches Superior merge 2. Development goes off-shore Distributed Pull model = secure git add working directory index repository git commit 9 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Gerrit and Android Why on earth Gerrit become popular with Android? Google cheat-sheet uses a "review server" Android needed to be Open and Collaborative git add working directory index git commit, repo upload review server Benefits Get Android source for developing Get bug-fix free! Build Android eco-system Code Review as center of idea/code/test flow 10 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Why "repo tool" and Android? git clone git clone git clone git commit git checkout Android is composed by MANY Git Repositories repo upload 11 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Poll: SCMs used for your Mobile Development? 1. Git 2. Subversion 3. Perforce 4. Mercurial 5. Others 12 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Agile lifecycle in Mobile Development Git + Gerrit + repo = problem solved? Time-to-market Fast feedback Lead time to MVP? (Minimum Viable Product) Intuitive UX? Do people use it? Like it? Continuous-Beta delivery Reaction time vs. bugs? Can deliver one feature only? A/B experiments? 13 Copyright 2013 CollabNet, Inc. All Rights Reserved.

More challenges Y2008/2009 2010 2013 1x OS Version 1x Screen-size 1x Form-factor 3x Major OS Versions + OEMs customizations 5x Screen-sizes (or more) 4x Pixel densities 4 Form-factors 14 Copyright 2013 CollabNet, Inc. All Rights Reserved.

and even more challenges! Code complete without feedback Feedback Feature idea Code committed Client release Ver. X+1 Publish & review Discovery Upgrade Start Day-1 Day-3 Day-8 Day-10 15 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Tackling the Mobile challenge - ALM Beta, Stores 16 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Poll: how often do you release to production? 1. Weekly 2. Monthly 3. Quarterly 4. For every new feature 5. Others 17 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Lifecycle: from SCRUM to Kanban Project aspiration Users' real world Prescriptive Time-boxed Sprints iteration Adaptive WIP boxed Features iteration Kanban is a Scrum sprint made of one feature 18 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Continuous delivery for Mobile? Shortening the loop with Kanban-style delivery Push Build Unit Tests Failed Push Build Automated Unit Tests Tests Failed Push Build Automated Beta Users Unit Tests Tests Tests User's feedback Publish to all Users 19 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Mobile ALM in a real-life example 1. Get Android source using repo tool 2. Create a new project in Git using Gerrit 3. Start a new Android project with ADT / AS 4. Configure Jenkins for Building and unit-test 5. Using Beta-testing distribution with Jenkins 6. Public and manage feedback loop 20 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Mobile ALM (1) New Project setup Get Android source repo COMMAND OPTIONS repo init -u https://android.googlesource.com/platform/manifest repo sync development have Android at your fingertip! Start a new project Using ADT (Android Development Tool): Ant-style Project Using AS (Android Studio): Gradle-style Project Push to Git Local Git repo repo sync MyApp git add. && git commit m "Initial commit" Push to remote repo update MyApp 21 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Mobile ALM (2) Build and automate Build on Jenkins - Git + Gradle plugin - Archive **/*-debug-*.apk Test with Monkeyrunner - Develop Python test scripts - Run with Android emulator + Monkey runner plugin Acceptance test on real devices (i.e. Test-cloud services on real handsets) 22 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Mobile ALM (3) Beta testing and feedback Get early adopters on-board! - Select A/B users for Beta-testing - Experiment new features Feedback is the driver - Engage for updates - Show off your features - Ask for rating, problems and ideas Integrate with your Application Lifecycle - Choose Mobile-enabled ALMs - Bring feedback to Developers 23 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Poll: how do you release on Android? 1. Build from AS/ADT or Eclipse 2. Manual scripts using Ant / Gradle 3. Jenkins 4. Other continuous integration tool 24 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Enable Jenkins with Android plugins Run Android emulator during build Execute Monkeyrunner Validate changes before Review Orchestrate with TeamForge Issues planning, Build and Test feedback loop Fetch code from Git Trigger build on changes Progress Continuous Delivery phase Build Android Gradle Projects 25 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Use Jenkins for Android Beta installs Leverage Jenkins from Android Drive feedback back to the Project with TeamForge Deliver Betas to testers handsets directly from Jenkins with one TAP 26 Copyright 2013 CollabNet, Inc. All Rights Reserved.

TeamForge = ALM ready for Mobile Development GitEye Dashboards Control center for delivery pipelines, with social activity streams and open pluggable API s Hudson Jenkins Git + Gerrit Code Search Code Review Deploy with UC4 Native Tools QC, ALM, OO Integrated Tools Your data center Public clouds 27 Copyright 2013 CollabNet, Inc. All Rights Reserved.

NEW: TeamForge 7 with Orchestrate Learn more: www.collab.net/orchestrate 28 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Beyond development Mobile Applications are KEY to clients' engagement User experience clean and effective User involvement in the Delivery Lifecycle User feedback managed in real-time 29 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Summary Android development sits on the shoulders of Git, Gerrit Continuous Delivery is perfect for Android How to adopt Mobile ALM in simple steps Use Jenkins effectively as continuous integration for Android What you should do beyond Android development 30 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Learn More TeamForge 7 with Orchestrate http://www.collab.net/teamforge7 Git / Gerrit Technical Resources http://www.collab.net/git GitEye FREE Git client desktop http://www.giteyeapp.com 31 Copyright 2013 CollabNet, Inc. All Rights Reserved.

Questions? Luca Milanesio luca@gerritforge.com www.collab.net +1-650-228-2500 +1-888-778-9793 blogs.collab.net twitter.com/collabnet www.facebook.com/collabnethq www.linkedin.com/company/collabnet-inc 32 Copyright 2013 CollabNet, Inc. All Rights Reserved.

About CollabNet CollabNet is a leading provider of Enterprise Cloud Development and Agile ALM products and services for software-driven organizations. With more than 10,000 global customers, the company provides a suite of platforms and services to address three major trends disrupting the software industry: Agile, DevOps and hybrid cloud development. Its CloudForge development-platform-as-a-service (dpaas) enables cloud development through a flexible platform that is team friendly, enterprise ready and integrated to support leading third party tools. The CollabNet TeamForge ALM, ScrumWorks Pro project management and SubversionEdge source code management platforms can be deployed separately or together, in the cloud or on-premise. CollabNet complements its technical offerings with industry leading consulting and training services for Agile and cloud development transformations. Many CollabNet customers improve productivity by as much as 70 percent, while reducing costs by 80 percent. For more information, please visit www.collab.net. 33 Copyright 2013 CollabNet, Inc. All Rights Reserved.

CollabNet, Inc. 8000 Marina Blvd., Suite 600 Brisbane, CA 94005 www.collab.net +1-650-228-2500 +1-888-778-9793 blogs.collab.net twitter.com/collabnet www.facebook.com/collabnet www.linkedin.com/company/collabnet-inc 2013 CollabNet, Inc., All rights reserved. CollabNet is a trademark or registered trademark of CollabNet Inc., in the US and other countries. All other trademarks, brand names, or product names belong to their respective holders. 34 Copyright 2013 CollabNet, Inc. All Rights Reserved.