With the introduction of code branching into the OutSystems platform, development teams have the flexibility to collaborate more effectively. From feature branches, to refactoring, to hotfixing production code, OutSystems’ new branching capability allows you to maintain power of built-in dependency analysis along with flexibility that multiple parallel code lines enables.
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
Branching Your Way to Low-Code Perfection
1. | Branching your way to low-code perfection
Branching your way to
low-code perfection
Helping development teams collaborate more
effectively
2. | Branching your way to low-code perfection| Branching your way to low-code perfection
James DeVries
Senior Solution Architect | OutSystems
@
in
antonio.barros@outsystems.com
https://www.linkedin.com/in/falebarros/
3. | Branching your way to low-code perfection
Problem
Branching
● As application teams grow, delivery
slows down because multiple developers
compete to change the same code
● Developers need to deliver at different
paces and release teams need to
control what is delivered
4. | Branching your way to low-code perfection
Goal
Branching
● Enable collaborative development on
OutSystems
● Deliver a new branching capability to
allow developers to work concurrently
on the same code
● Provide an isolated runtime for
continuous integration to deliver at a
faster pace
5. | Branching your way to low-code perfection
Isolated
Runtime
(branch)
Architecture Overview
Public
Runtime
(trunk)
Developer DeveloperJunior Dev
Public
Runtime
6. | Branching your way to low-code perfection
Hey <developer>,
Code this feature...
7. | Branching your way to low-code perfection
Hey <developer>,
Code this feature...
How can I work
isolated?
49. | Branching your way to low-code perfection
Differences to High Code
● One isolated runtime is granted for each developer.
● Not possible to create new runtimes.
● LifeTime only stages code that is in trunk, meaning, not possible to stage
code that is isolated runtimes.
● Isolated runtimes share the database with the environment; there is no
isolation of data.
● Each isolated runtime consumes extra memory on Development
Environment.
50. | Branching your way to low-code perfection
● Support Reactive Web and Mobile
runtime
● Improved Merge experience
● “Pull-request”