SlideShare una empresa de Scribd logo
1 de 34
BEXIS Tech Talk Series
#7: Configuration and Change
Management
Javad Chamanara
October 2016
Jena, Germany
Reminder: The CM
BEXIS Tech Talk #7: Configuration and
Change Management
2
DataMetadata
Data StructureMetadata Structure Semantics Geo
Administration Security
«use»
«use»
«use» «use»
«use»
Reminder: The Architecture
3
BEXIS Tech Talk #7: Configuration and
Change Management
DB2 PgS
Data Access
Security
Core Functions
UI
UI Framework
...
Modularity
Integration
Synthesis Work
Semantic Search
Analytics
User Defined
Spatial Querying
External Tools
Web Services
Archiving
Import/ Export
Publishing
The Application’s Elements
• Core
• Modules
• Contributions
• 3rd Party Libraries
4
BEXIS Tech Talk #7: Configuration and
Change Management
Configuration and Change
Management
• Change Management
• Source Control
• Release Management
5
BEXIS Tech Talk #7: Configuration and
Change Management
Change Management
• Agile
– Scrum
• MS TFS
– Backlogs
– Tasks
– Change Requests
– Sprints
6
BEXIS Tech Talk #7: Configuration and
Change Management
Change Management
• Product backlog
• Release backlog
• Sprint backlog
• Work Item assignment
7
BEXIS Tech Talk #7: Configuration and Change
Management
Source Control
With a source control system:
• Changes to the artifacts are preserved
• Changes can be done in isolation
• Changes are eventually integrated
8
BEXIS Tech Talk #7: Configuration and
Change Management
Source Control
• Isolation
– Bug fixes
– Releases
– New Features
– Developer work
9
BEXIS Tech Talk #7: Configuration and
Change Management
Source Control
• Integration
– Merging isolated work
– Propagating fixes and features
– Promoting quality
10
BEXIS Tech Talk #7: Configuration and
Change Management
Source Control
• Use commits for change preservation
• Use branches for isolation
• Use merging for integration
11
BEXIS Tech Talk #7: Configuration and
Change Management
Branching Approach
• Branch for Team Members
• Branch for Features
• Branch for Architectural elements
• Branch for Releases
• Branch for Safekeeping
• Ad-hoc Branching
– Risky features
– Complex bugs during releases
– Temporary work: refactoring, framework upgrades
12
BEXIS Tech Talk #7: Configuration and
Change Management
Branches
13
BEXIS Tech Talk #7: Configuration and Change
Management
Master
DEV
Modules/DCM Modules/RPM
Components/DLM Components/EXT
The Master Branch
• Is used for safe keeping
• No coding, no changes
• All test cases pass!
14
BEXIS Tech Talk #7: Configuration and
Change Management
The DEV Branch
• Integration Branch
• Always for the next release
• No coding here
• Code always compiles!
• Integration tests pass!
• Occasional changes for conflict resolution:
– Configuration
– Merge
15
BEXIS Tech Talk #7: Configuration and
Change Management
The Module Branches
• Adding new features to next releases
• Unit tests pass!
• Branch name: modules/<moduleID>
• Forked from the DEV branch
• Get merged from DEV first
• Merge into DEV
• May be locked during releases
16
BEXIS Tech Talk #7: Configuration and
Change Management
The Component Branches
• Adding new features to next releases
• Unit tests pass!
• Branch name: components/<componentID>
• Forked from the DEV branch
• Get merged from DEV first
• Merge into DEV
• May be locked during releases
17
BEXIS Tech Talk #7: Configuration and
Change Management
Tooling
• GIT
• TFS VC
– GIT integration
• Github
• Visual Studio
18
BEXIS Tech Talk #7: Configuration and
Change Management
Policies & Practices
• Branches can be used by more than one
developer
• Developers may work on more than one
branch
• Branches may have ad-hoc/temporary sub-
branches
19
BEXIS Tech Talk #7: Configuration and
Change Management
Policies & Practices
• Work in isolation
• Get upper changes ASAP
• Pull before Push
• Fix issues on deepest (or isolated) branch
• Maintain target branch’s quality after merging
20
BEXIS Tech Talk #7: Configuration and
Change Management
Releases
• To publish a coherent set of working artifacts
– A set of chosen features
– From the release backlog
– Every 3-4 months
21
BEXIS Tech Talk #7: Configuration and
Change Management
Release Materials
• Binary code
• Source code
• Documentation
• Sample Demo Site
• Initial Data/Workspace
• DB Scripts
22
BEXIS Tech Talk #7: Configuration and
Change Management
Builds under Control, too!
• Bundling Scripts
– Compilation
– DB change scripts
– Document/Manual Formatting (PDF, HTML)
– Branding Information
– Commands
– Packaging
23
BEXIS Tech Talk #7: Configuration and
Change Management
Branching for Release
• Release branch is:
– forked from DEV
• Name: /releases/<x>.<y>
– Used for stabilizing the designated feature set
– Used by all the release team members
– Is built daily
– Is staged daily (for testing)
– Is tagged, bundled, and published
24
BEXIS Tech Talk #7: Configuration and
Change Management
Branching for Release
25
BEXIS Tech Talk #7: Configuration and Change
Management
Master
DEV
R1
Released V1.0 Released V1.1
R2
Released V2.1Released V2.0
Release Branching
• Is used to isolate other branches, releases,
and the development from the changes.
• Supports multiple alive releases
– Previously released ones
– The current one
• Allows previous releases reproduction
• Permits exact version bug assignment, fixing,
and promotion.
26
BEXIS Tech Talk #7: Configuration and
Change Management
Release Integration
• Merge all module and component branches to
DEV
• Create the release branch from DEV
• Do not merge again from DEV during release
– Necessary cases can be handled with care!
– Merge to DEV is safe
27
BEXIS Tech Talk #7: Configuration and Change
Management
Release Integration
• Promote the release code
– Realases/<x.y>  DEV
– DEV  module branches
– DEV  component branches
– DEV  master
• Tag branches accordingly
28
BEXIS Tech Talk #7: Configuration and
Change Management
The Github Repository
• https://github.com/BEXIS2
• Updated after major releases
29
BEXIS Tech Talk #7: Configuration and Change
Management
Public Repository
30
BEXIS Tech Talk #7: Configuration and
Change Management
Master
DEV
R1
Released V1.0 Released V1.1
R2
Released V2.1Released V2.0
Github Repo: master
V1.0
V1.1
V2.0
V2.1
The Public Repository
• Open Source
• Fork
• Pull Request
• Feature Request
• Bug Reporting
31
BEXIS Tech Talk #7: Configuration and Change
Management
https://github.com/BEXIS2
1: <Mailto: bexis2-dev@listserv.uni-jena.de>
<Subscribe to: https://lserv.uni-jena.de/mailman/listinfo/bexis2-dev>
1
1
Contribution Projects
• Use the public repository
• Pull the released versions
• Develop on top of them
• Publish their contribution freely
• Share their enhancements with us
32
BEXIS Tech Talk #7: Configuration and Change
Management
Outlook
What‘s next in the talk series?
Implementation Notes
BEXIS Tech Talk #7: Configuration and
Change Management
33
34
Thanks!
Questions?
Contact:
javad.chamanara@uni-jena.de
http://bexis2.uni-jena.de
Acknowledgment
BEXIS Tech Talk #7: Configuration and
Change Management
34

Más contenido relacionado

La actualidad más candente

CM10.2 Power Builder Source Control
CM10.2 Power Builder Source ControlCM10.2 Power Builder Source Control
CM10.2 Power Builder Source Control
Eric Saperstein
 

La actualidad más candente (10)

Software Architecture - All you need to know
Software Architecture - All you need to knowSoftware Architecture - All you need to know
Software Architecture - All you need to know
 
CM10.2 Power Builder Source Control
CM10.2 Power Builder Source ControlCM10.2 Power Builder Source Control
CM10.2 Power Builder Source Control
 
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
Overview and Demonstration of Dimensions CM 14.2 (FUG presentation track 2)
 
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
Learning from the Early Adopters of DevOps: A Guidebook to Success featuring ...
 
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...
Code Management and Promotion (DDT) - Jason Cornell - ManageIQ Design Summit ...
 
VAST 8.0
VAST 8.0VAST 8.0
VAST 8.0
 
Git Workflows
Git WorkflowsGit Workflows
Git Workflows
 
How to use Git Branch
How to use Git BranchHow to use Git Branch
How to use Git Branch
 
Streams in Parallel Development by Sven Erik Knop
Streams in Parallel Development by Sven Erik KnopStreams in Parallel Development by Sven Erik Knop
Streams in Parallel Development by Sven Erik Knop
 
ClearCase Escape Plan
ClearCase Escape PlanClearCase Escape Plan
ClearCase Escape Plan
 

Destacado

Media technologies used
Media technologies usedMedia technologies used
Media technologies used
Reeceymorris
 
Paul Bartz Recommendation Letter 1
Paul Bartz Recommendation Letter 1Paul Bartz Recommendation Letter 1
Paul Bartz Recommendation Letter 1
Paul Bartz
 
Kristin's Team---UR Conference Poster
Kristin's Team---UR Conference PosterKristin's Team---UR Conference Poster
Kristin's Team---UR Conference Poster
Joseph Tise
 
Pantallazos genesis 2
Pantallazos genesis 2Pantallazos genesis 2
Pantallazos genesis 2
Andres Kmilo
 
Analisi e sviluppo di un algoritmo di pianificazione ordini di una ditta di t...
Analisi e sviluppo di un algoritmo di pianificazione ordini di una ditta di t...Analisi e sviluppo di un algoritmo di pianificazione ordini di una ditta di t...
Analisi e sviluppo di un algoritmo di pianificazione ordini di una ditta di t...
Marco Furlanetto
 
Jensen Sterilitaet (1)
Jensen Sterilitaet (1)Jensen Sterilitaet (1)
Jensen Sterilitaet (1)
guest7f0a3a
 

Destacado (14)

Media technologies used
Media technologies usedMedia technologies used
Media technologies used
 
Paul Bartz Recommendation Letter 1
Paul Bartz Recommendation Letter 1Paul Bartz Recommendation Letter 1
Paul Bartz Recommendation Letter 1
 
Los envejecientes
Los envejecientesLos envejecientes
Los envejecientes
 
Kristin's Team---UR Conference Poster
Kristin's Team---UR Conference PosterKristin's Team---UR Conference Poster
Kristin's Team---UR Conference Poster
 
Präsentation
PräsentationPräsentation
Präsentation
 
Pantallazos genesis 2
Pantallazos genesis 2Pantallazos genesis 2
Pantallazos genesis 2
 
Analisi e sviluppo di un algoritmo di pianificazione ordini di una ditta di t...
Analisi e sviluppo di un algoritmo di pianificazione ordini di una ditta di t...Analisi e sviluppo di un algoritmo di pianificazione ordini di una ditta di t...
Analisi e sviluppo di un algoritmo di pianificazione ordini di una ditta di t...
 
Preservemos nuestro ecosistema proyecto tita expotita
Preservemos nuestro ecosistema proyecto tita expotitaPreservemos nuestro ecosistema proyecto tita expotita
Preservemos nuestro ecosistema proyecto tita expotita
 
system on chip for telecommand system design
system on chip for telecommand system designsystem on chip for telecommand system design
system on chip for telecommand system design
 
An Itroduction to the QUIS Language
An Itroduction to the QUIS LanguageAn Itroduction to the QUIS Language
An Itroduction to the QUIS Language
 
soc ip core based for spacecraft application
soc ip core based for spacecraft applicationsoc ip core based for spacecraft application
soc ip core based for spacecraft application
 
Addressing the OWASP Mobile Security Threats using Xamarin
Addressing the OWASP Mobile Security Threats using XamarinAddressing the OWASP Mobile Security Threats using Xamarin
Addressing the OWASP Mobile Security Threats using Xamarin
 
Jensen Sterilitaet (1)
Jensen Sterilitaet (1)Jensen Sterilitaet (1)
Jensen Sterilitaet (1)
 
Valoriser votre hébergement avec Gîtes de France
Valoriser votre hébergement avec Gîtes de FranceValoriser votre hébergement avec Gîtes de France
Valoriser votre hébergement avec Gîtes de France
 

Similar a 7 Source Control and Release Management

Similar a 7 Source Control and Release Management (20)

SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
 
Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and Framework
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Perforce Innovations Showcase 
Perforce Innovations Showcase Perforce Innovations Showcase 
Perforce Innovations Showcase 
 
Expert guidance on migrating from magento 1 to magento 2
Expert guidance on migrating from magento 1 to magento 2Expert guidance on migrating from magento 1 to magento 2
Expert guidance on migrating from magento 1 to magento 2
 
Versioning for Developers
Versioning for DevelopersVersioning for Developers
Versioning for Developers
 
Agile Secure Cloud Application Development Management
Agile Secure Cloud Application Development ManagementAgile Secure Cloud Application Development Management
Agile Secure Cloud Application Development Management
 
VAST 7.5 and Beyond
VAST 7.5 and BeyondVAST 7.5 and Beyond
VAST 7.5 and Beyond
 
Magento 2 Workflows
Magento 2 WorkflowsMagento 2 Workflows
Magento 2 Workflows
 
Migrate to microservices
Migrate to microservicesMigrate to microservices
Migrate to microservices
 
8 implementation notes
8 implementation notes8 implementation notes
8 implementation notes
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)
 
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
JUC Europe 2015: Jenkins-Based Continuous Integration for Heterogeneous Hardw...
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | Mindtree
 
Audit your existing code in Domino - Collabsphere2022_v5.pdf
Audit your existing code in Domino  - Collabsphere2022_v5.pdfAudit your existing code in Domino  - Collabsphere2022_v5.pdf
Audit your existing code in Domino - Collabsphere2022_v5.pdf
 
branch_architecture
branch_architecturebranch_architecture
branch_architecture
 
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
 
Node.js what's next (Index 2018)
Node.js what's next (Index 2018)Node.js what's next (Index 2018)
Node.js what's next (Index 2018)
 
Building environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOpsBuilding environment of #UserDevOps and not only DevOps
Building environment of #UserDevOps and not only DevOps
 

Más de javadch

SciQL: A Scientific Query Language
SciQL: A Scientific Query LanguageSciQL: A Scientific Query Language
SciQL: A Scientific Query Language
javadch
 

Más de javadch (11)

Data Lifecycle is not a Cycle, but a Plane!
Data Lifecycle is not a Cycle, but a Plane!Data Lifecycle is not a Cycle, but a Plane!
Data Lifecycle is not a Cycle, but a Plane!
 
Scrum Project Management with Jira as showcase
Scrum Project Management with Jira as showcaseScrum Project Management with Jira as showcase
Scrum Project Management with Jira as showcase
 
6 The UI Structure and The Web API
6 The UI Structure and The Web API6 The UI Structure and The Web API
6 The UI Structure and The Web API
 
5 BEXIS Extensibility
5 BEXIS Extensibility5 BEXIS Extensibility
5 BEXIS Extensibility
 
Research Data Management, BExIS Hands-On Workshop
Research Data Management, BExIS Hands-On WorkshopResearch Data Management, BExIS Hands-On Workshop
Research Data Management, BExIS Hands-On Workshop
 
Added Value of Conceptual Modeling in Geosciences
Added Value of Conceptual Modeling in GeosciencesAdded Value of Conceptual Modeling in Geosciences
Added Value of Conceptual Modeling in Geosciences
 
4 the 3rd party libraries
4 the 3rd party libraries4 the 3rd party libraries
4 the 3rd party libraries
 
3 the system architecture
3 the system architecture3 the system architecture
3 the system architecture
 
2 the conceptual model
2 the conceptual model2 the conceptual model
2 the conceptual model
 
1 the big picture
1 the big picture1 the big picture
1 the big picture
 
SciQL: A Scientific Query Language
SciQL: A Scientific Query LanguageSciQL: A Scientific Query Language
SciQL: A Scientific Query Language
 

Último

Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Último (20)

WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 

7 Source Control and Release Management

  • 1. BEXIS Tech Talk Series #7: Configuration and Change Management Javad Chamanara October 2016 Jena, Germany
  • 2. Reminder: The CM BEXIS Tech Talk #7: Configuration and Change Management 2 DataMetadata Data StructureMetadata Structure Semantics Geo Administration Security «use» «use» «use» «use» «use»
  • 3. Reminder: The Architecture 3 BEXIS Tech Talk #7: Configuration and Change Management DB2 PgS Data Access Security Core Functions UI UI Framework ... Modularity Integration Synthesis Work Semantic Search Analytics User Defined Spatial Querying External Tools Web Services Archiving Import/ Export Publishing
  • 4. The Application’s Elements • Core • Modules • Contributions • 3rd Party Libraries 4 BEXIS Tech Talk #7: Configuration and Change Management
  • 5. Configuration and Change Management • Change Management • Source Control • Release Management 5 BEXIS Tech Talk #7: Configuration and Change Management
  • 6. Change Management • Agile – Scrum • MS TFS – Backlogs – Tasks – Change Requests – Sprints 6 BEXIS Tech Talk #7: Configuration and Change Management
  • 7. Change Management • Product backlog • Release backlog • Sprint backlog • Work Item assignment 7 BEXIS Tech Talk #7: Configuration and Change Management
  • 8. Source Control With a source control system: • Changes to the artifacts are preserved • Changes can be done in isolation • Changes are eventually integrated 8 BEXIS Tech Talk #7: Configuration and Change Management
  • 9. Source Control • Isolation – Bug fixes – Releases – New Features – Developer work 9 BEXIS Tech Talk #7: Configuration and Change Management
  • 10. Source Control • Integration – Merging isolated work – Propagating fixes and features – Promoting quality 10 BEXIS Tech Talk #7: Configuration and Change Management
  • 11. Source Control • Use commits for change preservation • Use branches for isolation • Use merging for integration 11 BEXIS Tech Talk #7: Configuration and Change Management
  • 12. Branching Approach • Branch for Team Members • Branch for Features • Branch for Architectural elements • Branch for Releases • Branch for Safekeeping • Ad-hoc Branching – Risky features – Complex bugs during releases – Temporary work: refactoring, framework upgrades 12 BEXIS Tech Talk #7: Configuration and Change Management
  • 13. Branches 13 BEXIS Tech Talk #7: Configuration and Change Management Master DEV Modules/DCM Modules/RPM Components/DLM Components/EXT
  • 14. The Master Branch • Is used for safe keeping • No coding, no changes • All test cases pass! 14 BEXIS Tech Talk #7: Configuration and Change Management
  • 15. The DEV Branch • Integration Branch • Always for the next release • No coding here • Code always compiles! • Integration tests pass! • Occasional changes for conflict resolution: – Configuration – Merge 15 BEXIS Tech Talk #7: Configuration and Change Management
  • 16. The Module Branches • Adding new features to next releases • Unit tests pass! • Branch name: modules/<moduleID> • Forked from the DEV branch • Get merged from DEV first • Merge into DEV • May be locked during releases 16 BEXIS Tech Talk #7: Configuration and Change Management
  • 17. The Component Branches • Adding new features to next releases • Unit tests pass! • Branch name: components/<componentID> • Forked from the DEV branch • Get merged from DEV first • Merge into DEV • May be locked during releases 17 BEXIS Tech Talk #7: Configuration and Change Management
  • 18. Tooling • GIT • TFS VC – GIT integration • Github • Visual Studio 18 BEXIS Tech Talk #7: Configuration and Change Management
  • 19. Policies & Practices • Branches can be used by more than one developer • Developers may work on more than one branch • Branches may have ad-hoc/temporary sub- branches 19 BEXIS Tech Talk #7: Configuration and Change Management
  • 20. Policies & Practices • Work in isolation • Get upper changes ASAP • Pull before Push • Fix issues on deepest (or isolated) branch • Maintain target branch’s quality after merging 20 BEXIS Tech Talk #7: Configuration and Change Management
  • 21. Releases • To publish a coherent set of working artifacts – A set of chosen features – From the release backlog – Every 3-4 months 21 BEXIS Tech Talk #7: Configuration and Change Management
  • 22. Release Materials • Binary code • Source code • Documentation • Sample Demo Site • Initial Data/Workspace • DB Scripts 22 BEXIS Tech Talk #7: Configuration and Change Management
  • 23. Builds under Control, too! • Bundling Scripts – Compilation – DB change scripts – Document/Manual Formatting (PDF, HTML) – Branding Information – Commands – Packaging 23 BEXIS Tech Talk #7: Configuration and Change Management
  • 24. Branching for Release • Release branch is: – forked from DEV • Name: /releases/<x>.<y> – Used for stabilizing the designated feature set – Used by all the release team members – Is built daily – Is staged daily (for testing) – Is tagged, bundled, and published 24 BEXIS Tech Talk #7: Configuration and Change Management
  • 25. Branching for Release 25 BEXIS Tech Talk #7: Configuration and Change Management Master DEV R1 Released V1.0 Released V1.1 R2 Released V2.1Released V2.0
  • 26. Release Branching • Is used to isolate other branches, releases, and the development from the changes. • Supports multiple alive releases – Previously released ones – The current one • Allows previous releases reproduction • Permits exact version bug assignment, fixing, and promotion. 26 BEXIS Tech Talk #7: Configuration and Change Management
  • 27. Release Integration • Merge all module and component branches to DEV • Create the release branch from DEV • Do not merge again from DEV during release – Necessary cases can be handled with care! – Merge to DEV is safe 27 BEXIS Tech Talk #7: Configuration and Change Management
  • 28. Release Integration • Promote the release code – Realases/<x.y>  DEV – DEV  module branches – DEV  component branches – DEV  master • Tag branches accordingly 28 BEXIS Tech Talk #7: Configuration and Change Management
  • 29. The Github Repository • https://github.com/BEXIS2 • Updated after major releases 29 BEXIS Tech Talk #7: Configuration and Change Management
  • 30. Public Repository 30 BEXIS Tech Talk #7: Configuration and Change Management Master DEV R1 Released V1.0 Released V1.1 R2 Released V2.1Released V2.0 Github Repo: master V1.0 V1.1 V2.0 V2.1
  • 31. The Public Repository • Open Source • Fork • Pull Request • Feature Request • Bug Reporting 31 BEXIS Tech Talk #7: Configuration and Change Management https://github.com/BEXIS2 1: <Mailto: bexis2-dev@listserv.uni-jena.de> <Subscribe to: https://lserv.uni-jena.de/mailman/listinfo/bexis2-dev> 1 1
  • 32. Contribution Projects • Use the public repository • Pull the released versions • Develop on top of them • Publish their contribution freely • Share their enhancements with us 32 BEXIS Tech Talk #7: Configuration and Change Management
  • 33. Outlook What‘s next in the talk series? Implementation Notes BEXIS Tech Talk #7: Configuration and Change Management 33