SlideShare a Scribd company logo
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

More Related Content

What's hot

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
Vincent Composieux
 
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
 
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)
Serena Software
 
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 ...
Perforce
 
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 ...
ManageIQ
 
VAST 8.0
VAST 8.0VAST 8.0
VAST 8.0
ESUG
 
Git Workflows
Git WorkflowsGit Workflows
Git Workflows
Noam Kfir
 
How to use Git Branch
How to use Git BranchHow to use Git Branch
How to use Git Branch
Phuoc Nguyen
 
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
Perforce
 
ClearCase Escape Plan
ClearCase Escape PlanClearCase Escape Plan
ClearCase Escape Plan
Perforce
 

What's hot (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
 

Viewers also liked

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
 
Los envejecientes
Los envejecientesLos envejecientes
Los envejecientes
I. E. San Fernando
 
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
 
Preservemos nuestro ecosistema proyecto tita expotita
Preservemos nuestro ecosistema proyecto tita expotitaPreservemos nuestro ecosistema proyecto tita expotita
Preservemos nuestro ecosistema proyecto tita expotita
clara ramirez
 
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
Raghavendra Badager
 
An Itroduction to the QUIS Language
An Itroduction to the QUIS LanguageAn Itroduction to the QUIS Language
An Itroduction to the QUIS Language
javadch
 
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
navyashree pari
 
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
Alec Tucker
 
Jensen Sterilitaet (1)
Jensen Sterilitaet (1)Jensen Sterilitaet (1)
Jensen Sterilitaet (1)guest7f0a3a
 
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
Ludivine Blanchard
 

Viewers also liked (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 to 7 Source Control and Release Management

SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
Ori Donner
 
Innovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and FrameworkInnovations in Sencha Tooling and Framework
Innovations in Sencha Tooling and Framework
Sandeep Adwankar
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
XPDays
 
Perforce Innovations Showcase 
Perforce Innovations Showcase Perforce Innovations Showcase 
Perforce Innovations Showcase 
Perforce
 
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
James Cowie
 
Versioning for Developers
Versioning for DevelopersVersioning for Developers
Versioning for Developers
Michelangelo van Dam
 
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
 
VAST 7.5 and Beyond
VAST 7.5 and BeyondVAST 7.5 and Beyond
VAST 7.5 and Beyond
ESUG
 
Magento 2 Workflows
Magento 2 WorkflowsMagento 2 Workflows
Magento 2 Workflows
Ryan Street
 
Migrate to microservices
Migrate to microservicesMigrate to microservices
Migrate to microservices
Andrey Trubitsyn
 
8 implementation notes
8 implementation notes8 implementation notes
8 implementation notes
javadch
 
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
Comsysto Reply GmbH
 
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)
Amr E. Mohamed
 
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...
CloudBees
 
DevOps Service | Mindtree
DevOps Service | MindtreeDevOps Service | Mindtree
DevOps Service | Mindtree
AnikeyRoy
 
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
DominiquePerarnaud
 
branch_architecture
branch_architecturebranch_architecture
branch_architecture
jimmy mathebula
 
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...
DevOps4Networks
 
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)
Gibson Fahnestock
 
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
Rajnish Chauhan
 

Similar to 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
 

More from javadch

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!
javadch
 
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
javadch
 
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
javadch
 
5 BEXIS Extensibility
5 BEXIS Extensibility5 BEXIS Extensibility
5 BEXIS Extensibility
javadch
 
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
javadch
 
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
javadch
 
4 the 3rd party libraries
4 the 3rd party libraries4 the 3rd party libraries
4 the 3rd party libraries
javadch
 
3 the system architecture
3 the system architecture3 the system architecture
3 the system architecture
javadch
 
2 the conceptual model
2 the conceptual model2 the conceptual model
2 the conceptual model
javadch
 
1 the big picture
1 the big picture1 the big picture
1 the big picture
javadch
 
SciQL: A Scientific Query Language
SciQL: A Scientific Query LanguageSciQL: A Scientific Query Language
SciQL: A Scientific Query Language
javadch
 

More from 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
 

Recently uploaded

E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
NishanthaBulumulla1
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
XfilesPro
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
Rakesh Kumar R
 

Recently uploaded (20)

E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
YAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring detailsYAML crash COURSE how to write yaml file for adding configuring details
YAML crash COURSE how to write yaml file for adding configuring details
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
Everything You Need to Know About X-Sign: The eSign Functionality of XfilesPr...
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
What next after learning python programming basics
What next after learning python programming basicsWhat next after learning python programming basics
What next after learning python programming basics
 

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