SlideShare a Scribd company logo
Dev ops in the cloud use case and best practices   meetup
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Implementing Cloud-based Agile Team
Development
Lessons Learned
Greg Stachnick
Sr. Principal Product Manager
Oracle Development Tools
@gstachni
November, 2017
Confidential – Oracle Internal/Restricted/Highly Restricted 2
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
The Cloud Changed Everything
• Release Frequency
• Quality of Software
• Speed of Fixing Issues
• Development Technologies
• Development Process
3
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Agile Methodology at Oracle
• Short delivery cycles
• Delivery of incremental solutions
• Focus on highest priority tasks
• Adapt constantly
4
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Plan
Code
Build
Test
Release
Deploy
Operate
Monitor
DevOps – Enabler for Agile
• DevOps is a culture, movement or
practice that emphasizes the
collaboration and communication of both
software developers and other
information-technology (IT) professionals
while automating the process of software
delivery and infrastructure changes. It
aims at establishing a culture and
environment where building, testing,
and releasing software, can happen
rapidly, frequently, and more reliably.
– Wikipedia
5
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
How We Do It
Confidential – Oracle Internal/Restricted/Highly Restricted 6
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Our Team Overview
~170 Project
Members
1000s
LOCs
2 Week
Sprints
Oracle Developer Cloud Service
7
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Code/CI Management
– Version Management – Git
– Build Automation
• Java, PHP, Python, NodeJS, SQLcl, Shell, Docker
– Test Automation
• Selenium, JUnit, Findbugs
– Continuous Integration Engine
– Deployment & Provisioning Automation
• Team/Agile Management
– Issues Tracking
– Agile Process Management
– Code Review
– Wiki
– Activity stream
Oracle Developer Cloud Service – What’s In the Box
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Source Management
1 Project 40 Git
Repositories
Component
Per Repository
Task & Issue Tracker
9
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Feature Work
~200 commits a week
Master
New feature/
bug fixes
Complete code
Merge request
to target
Code review
Iterate, fix
& review
Code approved Automate build
10
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Preparing for Release
Master
Release Branch
Critical Bug Fix Automate build Release
11
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Code Management Tips
• It’s ok to have more than one git repository
• Leverage gitflow process – provide agility
• Automate code review process
• Default code reviewer per area
• Branch main for a release
– Lock branch to require approval for show stoppers only
12
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Commit/push builds
– ~50 builds a day
• + 2 times a day
– All git repositories
– Deploy to dev VM
– Automated tests
• Master branched
every 2 weeks
– All git repositories
– Deploy to stage VM
– Automated tests
– Manual QA
– Candidate for
production deploy
– ~Candidate for
customers
Build Process
Development Production
13
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Build Tips
• Automate notification from builds (prevent “I didn’t know it broke”)
• Require a test script in a build for new capabilities
• Regular builds lead to regular testing lead to early issue detection
• There is no such thing as builds overload
– Build executors don’t need a rest
• Builds for monitoring production environments runtime
14
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Get email about new/updated task
• Check Sprint for open issues
• Git branch for feature work
• Work on code
– IDE of choice or in the cloud
• Commit and push changes
– Commit associated with specific task
The Developer’s Day
15
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Runs local build on code
• Submit Merge Request
– Initiate code review cycle
– Reviewers notified
• Receive review comments
• Modify code, automatically starting
builds
• When approved merge
• Close task
The Developer’s Day Continue
16
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Merge triggers a build
• Unit tests are executed
• Build produces binaries and
deploys to Maven repo
• If build fails – developer is notified
Ops Automation’s Day
17
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Scheduled build promotes latest
successful artifacts to stage area
• Successful deploy notifies QA team
• QA verify closed issues
• Selenium UI test run automatically
• Monitor runtime environments
– Oracle management tools
Ops Automation’s Day
18
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Track activity stream
• Issue management – assign, track
new issues,
• Merge requests
• Manage sprint
– Track reports and progress
• Promote staging to production
– Create release branches (protected)
– Manage show-stoppers check-ins
Development Manager’s Day
19
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Demo
A day in the life of a development team
Confidential – Oracle Internal/Restricted/Highly Restricted 20
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 21
Summary
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Additional Lessons Learned
• Integrated Agile + DevOps is key
• Cloud based environment is so much simpler
• Team collaboration is key – everyone is a committed owner of the product
22
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Metrics: Developer Cloud Service Team
• One Developer Cloud Service Project
• 40 git repositories, 1 binary repository
• 170 project members, 50 active contributors
• 200 commits a week
• 50 builds a day
• 21365 issues
• 250 wiki pages
23
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
• Full traceability – issue->code
change->build->deploy
• Faster feedback on code commits
• Improved team collaboration
• One stop shop for Agile + DevOps
• Accessibility of project artifacts
• Easy provisioning and scaling
Summary of Benefits
24
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |
Try Oracle Developer Cloud Service Yourself
• Tutorials
• Videos
• Whitepapers
• Documentation
• Forums
cloud.oracle.com/developer_service
25
Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 26
Questions?
Ad

More Related Content

What's hot (20)

State of the OpenFabrics Alliance
State of the OpenFabrics AllianceState of the OpenFabrics Alliance
State of the OpenFabrics Alliance
inside-BigData.com
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
DevOps.com
 
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)
Roberto Pérez Alcolea
 
Five Ways to QuickStart a Digital Transformation Project
Five Ways to QuickStart a Digital Transformation ProjectFive Ways to QuickStart a Digital Transformation Project
Five Ways to QuickStart a Digital Transformation Project
DevOps.com
 
Gerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big DataGerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big Data
Stefano Galarraga
 
Serverless & Serverless Devops: Scaling Together
Serverless & Serverless Devops: Scaling TogetherServerless & Serverless Devops: Scaling Together
Serverless & Serverless Devops: Scaling Together
AaronLieberman5
 
MERGE 2016 Opening Remarks
MERGE 2016 Opening RemarksMERGE 2016 Opening Remarks
MERGE 2016 Opening Remarks
Perforce
 
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
Serena Software
 
Standardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins TeamStandardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins Team
Deborah Schalm
 
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
Serena Software
 
New Relic Future Stack 2015 - Step 1 in our quest for DevOps at US Foods 111...
New Relic Future Stack 2015 - Step 1 in our quest for DevOps at US Foods  111...New Relic Future Stack 2015 - Step 1 in our quest for DevOps at US Foods  111...
New Relic Future Stack 2015 - Step 1 in our quest for DevOps at US Foods 111...
David Kent
 
The Automated Monolith
The Automated MonolithThe Automated Monolith
The Automated Monolith
Haufe-Lexware GmbH & Co KG
 
7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day
Kimihiko Kitase
 
Database CI/CD Pipeline
Database CI/CD PipelineDatabase CI/CD Pipeline
Database CI/CD Pipeline
muhammadhashir57
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
Hazzim Anaya
 
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsLouisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
James Strong
 
Balancing DevOps Speed with Quality
Balancing DevOps Speed with QualityBalancing DevOps Speed with Quality
Balancing DevOps Speed with Quality
Shashi Kiran
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
Knoldus Inc.
 
DevOps X
DevOps XDevOps X
DevOps X
ONUR FENAR
 
Multi-QA Environment, parallel development with Git
Multi-QA Environment, parallel development with GitMulti-QA Environment, parallel development with Git
Multi-QA Environment, parallel development with Git
dopejam
 
State of the OpenFabrics Alliance
State of the OpenFabrics AllianceState of the OpenFabrics Alliance
State of the OpenFabrics Alliance
inside-BigData.com
 
CI/CD Best Practices for Your DevOps Journey
CI/CD Best  Practices for Your DevOps JourneyCI/CD Best  Practices for Your DevOps Journey
CI/CD Best Practices for Your DevOps Journey
DevOps.com
 
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)
Leveraging Gradle @ Netflix (Madrid GUG Feb 2, 2021)
Roberto Pérez Alcolea
 
Five Ways to QuickStart a Digital Transformation Project
Five Ways to QuickStart a Digital Transformation ProjectFive Ways to QuickStart a Digital Transformation Project
Five Ways to QuickStart a Digital Transformation Project
DevOps.com
 
Gerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big DataGerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big Data
Stefano Galarraga
 
Serverless & Serverless Devops: Scaling Together
Serverless & Serverless Devops: Scaling TogetherServerless & Serverless Devops: Scaling Together
Serverless & Serverless Devops: Scaling Together
AaronLieberman5
 
MERGE 2016 Opening Remarks
MERGE 2016 Opening RemarksMERGE 2016 Opening Remarks
MERGE 2016 Opening Remarks
Perforce
 
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
Edit Privacy Settings Analytics FREE Collect Leads Micro Focus DevOps Drive-i...
Serena Software
 
Standardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins TeamStandardizing Jenkins with CloudBees Jenkins Team
Standardizing Jenkins with CloudBees Jenkins Team
Deborah Schalm
 
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
Micro Focus DevOps Drive-in with Gary Gruver - Starting and Scaling DevOps in...
Serena Software
 
New Relic Future Stack 2015 - Step 1 in our quest for DevOps at US Foods 111...
New Relic Future Stack 2015 - Step 1 in our quest for DevOps at US Foods  111...New Relic Future Stack 2015 - Step 1 in our quest for DevOps at US Foods  111...
New Relic Future Stack 2015 - Step 1 in our quest for DevOps at US Foods 111...
David Kent
 
7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day7 Apache Process Cloudstack Developer Day
7 Apache Process Cloudstack Developer Day
Kimihiko Kitase
 
CI/CD (DevOps) 101
CI/CD (DevOps) 101CI/CD (DevOps) 101
CI/CD (DevOps) 101
Hazzim Anaya
 
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using JenkinsLouisville Software Engineering Meet Up: Continuous Integration Using Jenkins
Louisville Software Engineering Meet Up: Continuous Integration Using Jenkins
James Strong
 
Balancing DevOps Speed with Quality
Balancing DevOps Speed with QualityBalancing DevOps Speed with Quality
Balancing DevOps Speed with Quality
Shashi Kiran
 
Introduction to CICD
Introduction to CICDIntroduction to CICD
Introduction to CICD
Knoldus Inc.
 
Multi-QA Environment, parallel development with Git
Multi-QA Environment, parallel development with GitMulti-QA Environment, parallel development with Git
Multi-QA Environment, parallel development with Git
dopejam
 

Similar to Dev ops in the cloud use case and best practices meetup (20)

Code Hosting: The Key to Autonomous, Self-Service Development
Code Hosting: The Key to Autonomous, Self-Service DevelopmentCode Hosting: The Key to Autonomous, Self-Service Development
Code Hosting: The Key to Autonomous, Self-Service Development
Rachel Maxwell
 
Migrate Oracle WebLogic Applications onto a Containerized Cloud Data Center
Migrate Oracle WebLogic Applications onto a Containerized Cloud Data CenterMigrate Oracle WebLogic Applications onto a Containerized Cloud Data Center
Migrate Oracle WebLogic Applications onto a Containerized Cloud Data Center
Jingnan Zhou
 
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Bruno Borges
 
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
OracleMySQL
 
Perforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetupPerforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetup
dsdata systems
 
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
hernanibf
 
Atagg2015 Continuous delivery by building environment using docker
Atagg2015 Continuous delivery by building environment using dockerAtagg2015 Continuous delivery by building environment using docker
Atagg2015 Continuous delivery by building environment using docker
Agile Testing Alliance
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
Chris Kernaghan
 
Docs as Code: Publishing Processes for API Experiences
Docs as Code: Publishing Processes for API ExperiencesDocs as Code: Publishing Processes for API Experiences
Docs as Code: Publishing Processes for API Experiences
Anne Gentle
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
CollabNet
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
David Buck
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
Chris Kernaghan
 
Federating Subversion and Git
Federating Subversion and GitFederating Subversion and Git
Federating Subversion and Git
CollabNet
 
New DevOps for the DBA
New DevOps for the DBANew DevOps for the DBA
New DevOps for the DBA
Kellyn Pot'Vin-Gorman
 
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
dennisn129
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
DevOps for Enterprise Systems
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
Adam Getchell
 
OpenJDK: How to Join In on All the Fun [JavaOne 2017 CON3667]
OpenJDK: How to Join In on All the Fun [JavaOne 2017 CON3667]OpenJDK: How to Join In on All the Fun [JavaOne 2017 CON3667]
OpenJDK: How to Join In on All the Fun [JavaOne 2017 CON3667]
David Buck
 
Challenges Scaling DevOps
Challenges Scaling DevOpsChallenges Scaling DevOps
Challenges Scaling DevOps
Rachel Maxwell
 
Code Hosting: The Key to Autonomous, Self-Service Development
Code Hosting: The Key to Autonomous, Self-Service DevelopmentCode Hosting: The Key to Autonomous, Self-Service Development
Code Hosting: The Key to Autonomous, Self-Service Development
Rachel Maxwell
 
Migrate Oracle WebLogic Applications onto a Containerized Cloud Data Center
Migrate Oracle WebLogic Applications onto a Containerized Cloud Data CenterMigrate Oracle WebLogic Applications onto a Containerized Cloud Data Center
Migrate Oracle WebLogic Applications onto a Containerized Cloud Data Center
Jingnan Zhou
 
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na NuvemMelhore o Desenvolvimento do Time com DevOps na Nuvem
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Bruno Borges
 
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
MySQL in oracle_environments(Part 2): MySQL Enterprise Monitor & Oracle Enter...
OracleMySQL
 
Perforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetupPerforce helix git swarm jan 2016(pva1) meetup
Perforce helix git swarm jan 2016(pva1) meetup
dsdata systems
 
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
hernanibf
 
Atagg2015 Continuous delivery by building environment using docker
Atagg2015 Continuous delivery by building environment using dockerAtagg2015 Continuous delivery by building environment using docker
Atagg2015 Continuous delivery by building environment using docker
Agile Testing Alliance
 
Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017Change Management in Hybrid landscapes 2017
Change Management in Hybrid landscapes 2017
Chris Kernaghan
 
Docs as Code: Publishing Processes for API Experiences
Docs as Code: Publishing Processes for API ExperiencesDocs as Code: Publishing Processes for API Experiences
Docs as Code: Publishing Processes for API Experiences
Anne Gentle
 
A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...A Reference Architecture to Enable Visibility and Traceability across the Ent...
A Reference Architecture to Enable Visibility and Traceability across the Ent...
CollabNet
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
Everything You Wanted to Know About JIT Compilation but Were Afraid to Ask [J...
David Buck
 
Change management in hybrid landscapes
Change management in hybrid landscapesChange management in hybrid landscapes
Change management in hybrid landscapes
Chris Kernaghan
 
Federating Subversion and Git
Federating Subversion and GitFederating Subversion and Git
Federating Subversion and Git
CollabNet
 
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
10.15.2014 dallas ws_brian_d_dn_live workshop enterpise agility_cust
dennisn129
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
DevOps for Enterprise Systems
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
Adam Getchell
 
OpenJDK: How to Join In on All the Fun [JavaOne 2017 CON3667]
OpenJDK: How to Join In on All the Fun [JavaOne 2017 CON3667]OpenJDK: How to Join In on All the Fun [JavaOne 2017 CON3667]
OpenJDK: How to Join In on All the Fun [JavaOne 2017 CON3667]
David Buck
 
Challenges Scaling DevOps
Challenges Scaling DevOpsChallenges Scaling DevOps
Challenges Scaling DevOps
Rachel Maxwell
 
Ad

Recently uploaded (20)

AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
Artificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptxArtificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptx
03ANMOLCHAURASIYA
 
Building a research repository that works by Clare Cady
Building a research repository that works by Clare CadyBuilding a research repository that works by Clare Cady
Building a research repository that works by Clare Cady
UXPA Boston
 
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdfComputer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
fizarcse
 
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Maarten Verwaest
 
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Alan Dix
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Secondary Storage for a microcontroller system
Secondary Storage for a microcontroller systemSecondary Storage for a microcontroller system
Secondary Storage for a microcontroller system
fizarcse
 
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdf
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdfGoogle DeepMind’s New AI Coding Agent AlphaEvolve.pdf
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdf
derrickjswork
 
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More MachinesRefactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Leon Anavi
 
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
ICT Frame Magazine Pvt. Ltd.
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
SOFTTECHHUB
 
Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025
Damco Salesforce Services
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
How Top Companies Benefit from Outsourcing
How Top Companies Benefit from OutsourcingHow Top Companies Benefit from Outsourcing
How Top Companies Benefit from Outsourcing
Nascenture
 
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier VroomAI x Accessibility UXPA by Stew Smith and Olivier Vroom
AI x Accessibility UXPA by Stew Smith and Olivier Vroom
UXPA Boston
 
Artificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptxArtificial_Intelligence_in_Everyday_Life.pptx
Artificial_Intelligence_in_Everyday_Life.pptx
03ANMOLCHAURASIYA
 
Building a research repository that works by Clare Cady
Building a research repository that works by Clare CadyBuilding a research repository that works by Clare Cady
Building a research repository that works by Clare Cady
UXPA Boston
 
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdfComputer Systems Quiz Presentation in Purple Bold Style (4).pdf
Computer Systems Quiz Presentation in Purple Bold Style (4).pdf
fizarcse
 
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Limecraft Webinar - 2025.3 release, featuring Content Delivery, Graphic Conte...
Maarten Verwaest
 
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Who's choice? Making decisions with and about Artificial Intelligence, Keele ...
Alan Dix
 
Mastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B LandscapeMastering Testing in the Modern F&B Landscape
Mastering Testing in the Modern F&B Landscape
marketing943205
 
Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)Design pattern talk by Kaya Weers - 2025 (v2)
Design pattern talk by Kaya Weers - 2025 (v2)
Kaya Weers
 
Secondary Storage for a microcontroller system
Secondary Storage for a microcontroller systemSecondary Storage for a microcontroller system
Secondary Storage for a microcontroller system
fizarcse
 
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdf
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdfGoogle DeepMind’s New AI Coding Agent AlphaEvolve.pdf
Google DeepMind’s New AI Coding Agent AlphaEvolve.pdf
derrickjswork
 
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More MachinesRefactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Refactoring meta-rauc-community: Cleaner Code, Better Maintenance, More Machines
Leon Anavi
 
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
MULTI-STAKEHOLDER CONSULTATION PROGRAM On Implementation of DNF 2.0 and Way F...
ICT Frame Magazine Pvt. Ltd.
 
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
RTP Over QUIC: An Interesting Opportunity Or Wasted Time?
Lorenzo Miniero
 
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
OpenAI Just Announced Codex: A cloud engineering agent that excels in handlin...
SOFTTECHHUB
 
Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025Top 5 Qualities to Look for in Salesforce Partners in 2025
Top 5 Qualities to Look for in Salesforce Partners in 2025
Damco Salesforce Services
 
Dark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanizationDark Dynamism: drones, dark factories and deurbanization
Dark Dynamism: drones, dark factories and deurbanization
Jakub Šimek
 
Slack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teamsSlack like a pro: strategies for 10x engineering teams
Slack like a pro: strategies for 10x engineering teams
Nacho Cougil
 
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Crazy Incentives and How They Kill Security. How Do You Turn the Wheel?
Christian Folini
 
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Integrating FME with Python: Tips, Demos, and Best Practices for Powerful Aut...
Safe Software
 
How Top Companies Benefit from Outsourcing
How Top Companies Benefit from OutsourcingHow Top Companies Benefit from Outsourcing
How Top Companies Benefit from Outsourcing
Nascenture
 
Ad

Dev ops in the cloud use case and best practices meetup

  • 2. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Implementing Cloud-based Agile Team Development Lessons Learned Greg Stachnick Sr. Principal Product Manager Oracle Development Tools @gstachni November, 2017 Confidential – Oracle Internal/Restricted/Highly Restricted 2
  • 3. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | The Cloud Changed Everything • Release Frequency • Quality of Software • Speed of Fixing Issues • Development Technologies • Development Process 3
  • 4. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Agile Methodology at Oracle • Short delivery cycles • Delivery of incremental solutions • Focus on highest priority tasks • Adapt constantly 4
  • 5. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Plan Code Build Test Release Deploy Operate Monitor DevOps – Enabler for Agile • DevOps is a culture, movement or practice that emphasizes the collaboration and communication of both software developers and other information-technology (IT) professionals while automating the process of software delivery and infrastructure changes. It aims at establishing a culture and environment where building, testing, and releasing software, can happen rapidly, frequently, and more reliably. – Wikipedia 5
  • 6. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | How We Do It Confidential – Oracle Internal/Restricted/Highly Restricted 6
  • 7. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Our Team Overview ~170 Project Members 1000s LOCs 2 Week Sprints Oracle Developer Cloud Service 7
  • 8. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Code/CI Management – Version Management – Git – Build Automation • Java, PHP, Python, NodeJS, SQLcl, Shell, Docker – Test Automation • Selenium, JUnit, Findbugs – Continuous Integration Engine – Deployment & Provisioning Automation • Team/Agile Management – Issues Tracking – Agile Process Management – Code Review – Wiki – Activity stream Oracle Developer Cloud Service – What’s In the Box
  • 9. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Source Management 1 Project 40 Git Repositories Component Per Repository Task & Issue Tracker 9
  • 10. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Feature Work ~200 commits a week Master New feature/ bug fixes Complete code Merge request to target Code review Iterate, fix & review Code approved Automate build 10
  • 11. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Preparing for Release Master Release Branch Critical Bug Fix Automate build Release 11
  • 12. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Code Management Tips • It’s ok to have more than one git repository • Leverage gitflow process – provide agility • Automate code review process • Default code reviewer per area • Branch main for a release – Lock branch to require approval for show stoppers only 12
  • 13. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Commit/push builds – ~50 builds a day • + 2 times a day – All git repositories – Deploy to dev VM – Automated tests • Master branched every 2 weeks – All git repositories – Deploy to stage VM – Automated tests – Manual QA – Candidate for production deploy – ~Candidate for customers Build Process Development Production 13
  • 14. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Build Tips • Automate notification from builds (prevent “I didn’t know it broke”) • Require a test script in a build for new capabilities • Regular builds lead to regular testing lead to early issue detection • There is no such thing as builds overload – Build executors don’t need a rest • Builds for monitoring production environments runtime 14
  • 15. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Get email about new/updated task • Check Sprint for open issues • Git branch for feature work • Work on code – IDE of choice or in the cloud • Commit and push changes – Commit associated with specific task The Developer’s Day 15
  • 16. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Runs local build on code • Submit Merge Request – Initiate code review cycle – Reviewers notified • Receive review comments • Modify code, automatically starting builds • When approved merge • Close task The Developer’s Day Continue 16
  • 17. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Merge triggers a build • Unit tests are executed • Build produces binaries and deploys to Maven repo • If build fails – developer is notified Ops Automation’s Day 17
  • 18. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Scheduled build promotes latest successful artifacts to stage area • Successful deploy notifies QA team • QA verify closed issues • Selenium UI test run automatically • Monitor runtime environments – Oracle management tools Ops Automation’s Day 18
  • 19. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Track activity stream • Issue management – assign, track new issues, • Merge requests • Manage sprint – Track reports and progress • Promote staging to production – Create release branches (protected) – Manage show-stoppers check-ins Development Manager’s Day 19
  • 20. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Demo A day in the life of a development team Confidential – Oracle Internal/Restricted/Highly Restricted 20
  • 21. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 21 Summary
  • 22. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Additional Lessons Learned • Integrated Agile + DevOps is key • Cloud based environment is so much simpler • Team collaboration is key – everyone is a committed owner of the product 22
  • 23. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Metrics: Developer Cloud Service Team • One Developer Cloud Service Project • 40 git repositories, 1 binary repository • 170 project members, 50 active contributors • 200 commits a week • 50 builds a day • 21365 issues • 250 wiki pages 23
  • 24. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | • Full traceability – issue->code change->build->deploy • Faster feedback on code commits • Improved team collaboration • One stop shop for Agile + DevOps • Accessibility of project artifacts • Easy provisioning and scaling Summary of Benefits 24
  • 25. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Try Oracle Developer Cloud Service Yourself • Tutorials • Videos • Whitepapers • Documentation • Forums cloud.oracle.com/developer_service 25
  • 26. Copyright © 2017, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly Restricted 26 Questions?

Editor's Notes

  • #3: This is a Title Slide with Java Graphic Theme ideal for including a brief title, subtitle and presenter information. Do not customize this slide with your own picture. To reuse this branded background in another presentation on PC Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Reuse Slides. Click Browse in the Reuse Slides panel and select Browse Files. Double-click the PowerPoint presentation that contains the background you wish to copy. Check Keep Source Formatting and click the slide that contains the background you want. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Right-click any selected slide, point to Layout, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates. To reuse this branded background in another presentation on Mac Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Insert Slides from Other Presentation… Navigate to the PowerPoint presentation file that contains the background you wish to copy. Double-click or press Insert. This prompts the Slide Finder dialogue box. Make sure Keep design of original slides is unchecked and click the slide(s) that contains the background you want. Hold Shift key to select multiple slides. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Click Layout from the Home tab's Slides group, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates.
  • #4: When we started developing cloud based products we had to change many things about our approach to software development. How we deliver software How frequently we deliver the software How stable our software needs to be How fast can we upgrade the platform Which technologies we use to develop with How we develop software
  • #5: These are the main things that Agile development focuses on. Those are mapped quite nicely to what we wanted to achieve. Compare old massive waterfall FMW process to short cycles Start MVP – Minimal viable product – and iterate based on roadmap, usage, etc Some people prefer the more predictable and slower style of development but with the constant changing technology landscape. A two year release cycle can be outdated or incorrectly focused from the moment it ships
  • #6: To achieve the full DevOps solution you’ll leverage the following cloud solutions from Oracle: DevCS for the Dev part, PaaS for the deployment, Management Cloud for the operate and monitor Agile = how we organize and work as a team or as subteams DevOps = how we interact or organize with the rest of the company or IT Culture and environment Adjectives for devops are the same goals as our agile dev teams
  • #7: This is a Section Header with Graphic Theme slide ideal for including the graphic theme with a brief title and optional subtitle. This slide can also be used as a Q and A slide, or as a Java 9 Launch slide for any times where the launch is the main topic. Do not customize this slide with your own picture: To reuse this branded background in another presentation on PC Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Reuse Slides. Click Browse in the Reuse Slides panel and select Browse Files. Double-click the PowerPoint presentation that contains the background you wish to copy. Check Keep Source Formatting and click the slide that contains the background you want. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Right-click any selected slide, point to Layout, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates. To reuse this branded background in another presentation on Mac Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Insert Slides from Other Presentation… Navigate to the PowerPoint presentation file that contains the background you wish to copy. Double-click or press Insert. This prompts the Slide Finder dialogue box. Make sure Keep design of original slides is unchecked and click the slide(s) that contains the background you want. Hold Shift key to select multiple slides. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Click Layout from the Home tab's Slides group, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates. Delete any unwanted slides or duplicates.
  • #8: Distributed team of > 170 members (developers, doc, QA, PM etc) Thousands of lines of code Scrum methodology running 2 week sprints Each sprint delivers production ready builds Uses Developer Cloud Service to manage all Development Operations (DevOps)
  • #9: These are the components of Developer Cloud Service. In addition we provide integration with the IDEs.
  • #10: 40 Git repositories 1 Project for Developer Cloud Service Represents many Git repositories for each product component and/or sub-component Issue tracking spans project Logically separate code represents a component and has it’s own Git repository Versioned and branched independently
  • #11: New features / bug fixes occur on a feature branch created by a developer Once feature / bug fixes are complete, merge request is created with target of master on component repository Default reviewers on a component repository feature branch Developer can add additional reviewers Code is reviewed Iterated over based on reviewer comments -> Approved/Rejected Merge is initiated on Approved code Every check-in that’s merged initiates a build
  • #12: Before a release we branch the main into a release branch. This branch is tightly managed – and only managers can approve merges into it – they do so only for critical bugs These bugs are then also merged into the master. When ready the release branch would be released to production
  • #14: Builds (In addition to check-in builds) – Development 2 times a day an integration build is initiated Builds all Git repositories for a consistent stripe in time Build is deployed to VMs running in Oracle Cloud (Development Staging Env.) Downstream job is initiated running functional test (selenium suite tests) against env. Builds – Production Candidates Master is branched every 2 weeks and a Build is initiated Deployed to a Production Candidate VM in Oracle Cloud Selenium Tests run against Production Candidate VM in Oracle Cloud Manual QA against Production Candidate VM If all tests pass, branch may be deployed to customer production environment
  • #18: Merging Automatically Triggers Build Builds code to produce new binaries Runs unit tests Deploys binaries to project maven repo Developers are notified of build failures Twice daily scheduled build promotes latest successful builds to staging area Failed deployment notifies developers Successful deployment notifies QA team QA verifies closed issue in staging area Automatically triggers automated selenium testing
  • #19: Merging Automatically Triggers Build Builds code to produce new binaries Runs unit tests Deploys binaries to project maven repo Developers are notified of build failures Twice daily scheduled build promotes latest successful builds to staging area Failed deployment notifies developers Successful deployment notifies QA team QA verifies closed issue in staging area Automatically triggers automated selenium testing
  • #20: Issue management Assign new issues into sprints Track open issues in current sprint Merge requests Review merge requests Promote releases from staging area to production Create release branches Use “Protected Branches” feature to lock release branches to avoid unapproved merges Trigger build job to deploy release branch to pre-production staging area Automatically runs automated test suite against pre-production area Trigger build job to promote to production deployment I read the activity stream at the end of every day to review the day’s activities
  • #21: This is a Section Header with Graphic Theme slide ideal for including the graphic theme with a brief title and optional subtitle. This slide can also be used as a Q and A slide, or as a Java 9 Launch slide for any times where the launch is the main topic. Do not customize this slide with your own picture: To reuse this branded background in another presentation on PC Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Reuse Slides. Click Browse in the Reuse Slides panel and select Browse Files. Double-click the PowerPoint presentation that contains the background you wish to copy. Check Keep Source Formatting and click the slide that contains the background you want. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Right-click any selected slide, point to Layout, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates. To reuse this branded background in another presentation on Mac Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Insert Slides from Other Presentation… Navigate to the PowerPoint presentation file that contains the background you wish to copy. Double-click or press Insert. This prompts the Slide Finder dialogue box. Make sure Keep design of original slides is unchecked and click the slide(s) that contains the background you want. Hold Shift key to select multiple slides. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Click Layout from the Home tab's Slides group, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates. Delete any unwanted slides or duplicates.
  • #22: This is a Section Header with Java Photo Theme slide. This slide can also be used as a Q and A slide. Do not customize this slide with your own picture. To reuse this branded background in another presentation on PC Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Reuse Slides. Click Browse in the Reuse Slides panel and select Browse Files. Double-click the PowerPoint presentation that contains the background you wish to copy. Check Keep Source Formatting and click the slide that contains the background you want. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Right-click any selected slide, point to Layout, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates. To reuse this branded background in another presentation on Mac Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Insert Slides from Other Presentation… Navigate to the PowerPoint presentation file that contains the background you wish to copy. Double-click or press Insert. This prompts the Slide Finder dialogue box. Make sure Keep design of original slides is unchecked and click the slide(s) that contains the background you want. Hold Shift key to select multiple slides. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Click Layout from the Home tab's Slides group, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates.
  • #27: This is a Section Header with Java Photo Theme slide. This slide can also be used as a Q and A slide. Do not customize this slide with your own picture. To reuse this branded background in another presentation on PC Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Reuse Slides. Click Browse in the Reuse Slides panel and select Browse Files. Double-click the PowerPoint presentation that contains the background you wish to copy. Check Keep Source Formatting and click the slide that contains the background you want. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Right-click any selected slide, point to Layout, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates. To reuse this branded background in another presentation on Mac Locate and open the presentation where you will be placing this artwork. Click New Slide from the Home tab's Slides group and select Insert Slides from Other Presentation… Navigate to the PowerPoint presentation file that contains the background you wish to copy. Double-click or press Insert. This prompts the Slide Finder dialogue box. Make sure Keep design of original slides is unchecked and click the slide(s) that contains the background you want. Hold Shift key to select multiple slides. Click the left-hand slide preview to which you wish to apply the new master layout. Apply New Layout (Important): Click Layout from the Home tab's Slides group, and click the slide containing the desired layout from the layout gallery. Delete any unwanted slides or duplicates.
  翻译: