YeahMobi CD Practice based on Container -- openstack meetup

Slides:



Advertisements
Similar presentations
Configuration Management
Advertisements

Test process essentials Riitta Viitamäki,
Chapter 2 The Software Process
ACDM Focus 2 – Processes December 13, 2013 Diane Guerrero Principal SCM Engineer.
Validata Release Coordinator Accelerated application delivery through automated end-to-end release management.
Roadmap to Continuous Integration Testing and Benefits Gowri Selka, Walgreens Natalie Koltun, Walgreens May 20th, 2014 ©2013 Walgreen Co. All rights reserved.
Software Configuration Management (SCM)
USING CI & CD WITH MICROSOFT SQL SERVER Tim Giorgi Senior Software Developer Northwest Evaluation
Source Code Management Or Configuration Management: How I learned to Stop Worrying and Hate My Co-workers Less.
CBIIT Quality Assurance Process Preston Wood NCI CBIIT Government Quality Representative (GQR) January 2014 RS.
CSSE 375 Software Construction and Evolution: Configuration Management
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Michael Solomon Tugboat Software Managing the Software Development Process.
DNN LOVES JENKINS FOR CONTINUOUS INTEGRATION
Release & Deployment ITIL Version 3
CONTINUOUS DELIVERY / CONTINUOUS INTEGRATION. IDEAS -> SOLUTIONS Time.
CONTINUOUS INTEGRATION, DELIVERY & DEPLOYMENT ONE CLICK DELIVERY.
Continuous Delivery Ajey Gore Head of Technology ThoughtWorks India.
© 2012 IBM Corporation Rational Insight | Back to Basis Series SCM introduction Chu Shu June 2012.
Software Engineering Modern Approaches
More RUP and Configuration Management CS3300 Fall 2015.
Seattle Area Software Quality Assurance Group Release and Configuration Management, The Acceleration of Change and Its Contribution To Software Quality.
Software Configuration Management
Software Testing Life Cycle
Creating a Maintainable Software Ecosystem Jeremy D. Miller November 27th, 2007.
Introduction to Software Engineering LECTURE 2 By Umm-e-Laila 1Compiled by: Umm-e-Laila.
1 Lecture 19 Configuration Management Software Engineering.
Service Transition & Planning Service Validation & Testing
Software Quality Assurance
Project-X 3.0 Quality Criteria. QA Criteria Milestones Ø System Integration Complete (September) ùReady to start building production servers. Ø Project-X.
Managing Change 1. Why Do Requirements Change?  External Factors – those change agents over which the project team has little or no control.  Internal.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
Anubha Gupta | Software Engineer Visual Studio Online Microsoft Corp. Visual Studio Enterprise Leveraging modern tools to streamline Build and Release.
SOFTWARE PROCESS IMPROVEMENT
Software Testing Process
1 Object-Oriented Analysis and Design with the Unified Process Figure 13-1 Implementation discipline activities.
Cruise Training Introduction of Continuous Integration.
Cisco Consulting Services for Application-Centric Cloud Your Company Needs Fast IT Cisco Application-Centric Cloud Can Help.
JRA1 Meeting – 09/02/ Software Configuration Management and Integration EGEE is proposed as a project funded by the European Union under contract.
1 Punishment Through Continuous Delivery If it hurts, do it more often…
SG Software Configuration Management And CVS scmGalaxy Author: Rajesh Kumar
Avoiding the Pitfalls of Database Change Automation Cindy Bean Sr. Software Consultant DBmaestro SQLSaturday #514 – Houston, May 14, 2016.
Software Configuration Management (SCM)
ALM Deployment Pipeline Implementation. Create a Repeatable, Reliable Process for Releasing Software. Automate Almost Everything Keep Everything in Version.
SOFTWARE TESTING TRAINING TOOLS SUPPORT FOR SOFTWARE TESTING Chapter 6 immaculateres 1.
Version Control for PL/SQL
Joonas Sirén, Technology Architect, Emerging Technologies Accenture
Process improvements for better quality
Configuration Management
Stress Free Deployments with Octopus Deploy
Software Project Configuration Management
Continuous Delivery- Complete Guide
Continuous Integration and Testing
Владимир Гусаров Директор R&D, Dell Visual Studio ALM MVP ALM Ranger
Configuration Management
Real Metrics for Real Decisions
Branching Strategies for Web Development: Functionality vs. Content
Software Engineering (CSI 321)
Building a Continuous Integration Pipeline using VSTS
Introduction to Team Foundation Server 2010
Applied Software Implementation & Testing
X in [Integration, Delivery, Deployment]
Continuous deployment best practices, methods and tools.
Quality Assurance in an Agile Development Team Michelle Wu 2018 PNSQC
Capability Maturity Model
Bringing more value out of automation testing
HCL’s Viewpoint – DevOps on MS Cloud
Case Study 1 By : Shweta Agarwal Nikhil Walecha Amit Goyal
Capability Maturity Model
Jamie Cool Program Manager Microsoft
Presentation transcript:

YeahMobi CD Practice based on Container -- openstack meetup 叶彦斌 steve.ye@ndpmedia.com November 22, 2018

Agenda Why Automation SCM Points Branch Strategy Our Practice

We are what we repeatedly do. Philosophy We are what we repeatedly do. Excellence then is not an act, but a habit. Aristotle

What’s it now Building repeat Packing repeat Publishing repeat Environment repeat Releasing repeat Deployment repeat Process repeat …

Why not Automation Fast requires automation. Automation requires consistency. Processes Standardized Versioned everything Automated every step

What’s SCM Software Configuration Management (SCM) is a a software-engineering discipline comprising a set of tools and processes that enhances the reliability and quality of software delivery

How? Dev QA Stage Prod Dedicate & Clean build environment Same build process Same artifacts Same deployment scripts Different Configurations Build Deployment Tools Source Code Risk Management GOAL: Backend servers can be deployed anywhere/anytime Dev QA Stage Prod

Ad Hoc to Process - CMMI

Process = Speed? Goals The Form vs. Freedom Trade-off Division of labor Reduction in Organizational Noise Speed & Accuracy trumps Freedom Fewer meetings to solve issues in a custom manner The Form vs. Freedom Trade-off

What is a good process? The best processes are invisible “C.I. Builds” OK processes manual, but leads to a goal “Reviewing the code before check in” Worst processes, scramble drill “Deploy a P0 release” Snowball Emails Read flag meetings Running around for QA and Approvals

Principles of Source Code Management --- Code is locked down and can never be lost (safety). --- Code is base-lined, marking a specific milestone or other point in time. --- Code changed on a branch (variant) can be merged back onto the main trunk (or another variant). --- Source code management provides traceability and tracking of all changes. --- Source code management best practices help improve productivity and quality.

Released periodically

Three Types of Branches Trunk Holder of all things good and wonderful Represents the product going forward Release Branch For the hardening phase Maintains exact replica of production/OTA For Hot Fixes Feature Branch Work in progress for future release Major Release/Feature/Refactor/Project

Good Branching Strategy Engineers always have an appropriate branch to work in Never wait to checkin There is always a branch that matches production Hot Fix builds in under one hour Future work does not pollute release rhythm

Build Engineering ---Builds must be established that are a) Repeatable b) Based on an identifiable baseline c) All dependencies are well understood and controlled.

Build Strategy C.I. Builds – All Branches Every Checkin Unit Tests Find Bugs, etc. Finds issues fast Nightly Builds – All Branches Every ‘Night’ Metrics Deployment Auto BAT Tests Release Builds – Release Branch On Demand Uses workflow Run every test known to man

Environment Configuration ---When build engineering is done correctly, the code is built only once. ---Always point to the correct runtime resources, such as the QA or production database. ---Providing enough test environments so that development can be done efficiently and with the proper utilization of available resources. ---Environment configurations should be documented and understood by all parties. ---Identify and then control.

Principles of Change Control ---Changes should be planned and not just last-minute events. ---Changes should be understandable, including their downstream impacts. ---Authority and approvals for changes should be established and obtained as appropriate. ---Procedures for emergency changes should be established to cover emergency incidents. ---Change control should assess and confirm that all configuration management processes are being followed.

Principles of Release Management ---Releases should be readily identifiable with an immutable version ID. ---Releases should be packaged with all the dependencies included. ---Release packaging should be automated and designed to avoid human error. ---Release management should be fast and reliable to facilitate iterative development.

Goals of Deployment possible problem occurring. ---Promote a release into production without any possible problem occurring. ---Roll back the release if it has a problem so that the business can continue. ---Know exactly what is in production at all times. ---Know immediately whether any unauthorized changes have been made.

Delivery & Deployment Continuous Delivery doesn't mean every change is deployed to production ASAP. It means every change is proven to be deployable at any time(Carl Caum) CD is about how the pizza is made. When it's ready for customers, it's deployed.

CD System Main Points

CD System Framework

Single Stack All backend servers can be deployed anywhere/anytime Dynamically extract subset data for tests Create complete environment for A Clean Project Environments Automated Integration Testing (necessity for automation) A Clean Deployment Environment

Efficiency No more sharing STAGE with QA No more sharing TEST with QA Unlimited number of complete environments Engineers have stable environments Eventually, the company is on a laptop

Q&A?

Thanks!