SDLC with Git

Temenos Workbench aims to ease the configuration of Temenos products and embed the packaging of the configuration through a modern and standard Software Development Life Cycle (SDLC).

Temenos Workbench can now optionally:

  • Store the configuration records within package definitions in a Global Information Tracker (Git) repository (for example, a Transact enquiry to list customers in a package customer-config).
  • Build deployable configuration packages from Git and publish them to a maven repository through semantic versioning (corresponding to a CI pipeline that you can also build on your own, based on Maven to build the packages and curl to deploy them)
  • Out-of-the box Git trunk-based development strategy support. Read trunk based development for more information.

The deployable packages built with (or without) Workbench can be deployed consistently across all your environments (SIT, UAT, and PROD) through API calls. All this process promotes the concept of business configuration as code to:

  • Manage business configuration with the same SDLC as you would do with code (dev, build, test)
  • Empower ownership for developers
  • Enable parallel development
  • Improve quality

Differentiating Git and Non-Git Mode

The usage of Git mode is optional. It can be enabled through the workbench profile during the installation.

Set the value of PROFILE_REPO as given below in the appjs.properties file to switch between the modes.

  • PROFILE_REPO="git" for Git mode

  • PROFILE_REPO="dsfrepo" for Non-Git mode

The table below defines the features of Git and Non-Git modes.

Options or Features Git Mode Non Git Mode
PROFILE_REPO property in appjs.properties git dsfrepo
Branch Selector Yes No
Package Selector Yes Yes
Display package list with / without versions Without With
Packager selector – Refresh option No Yes
Package Manager No No
Create Package allows single/multi Single and Multi Single
Requires Keycloak user to login Yes Optional
Add record to package Adds to SCM local working area Adds to dsf repo
User roles Applicable Not applicable  
Package Selector
App bar

SDLC Process

The following can be performed by Workbench:

  • Configure
  • Store configuration
  • Write tests
  • Create and publish deployable and versioned release packages

Trunk Based Development

Trunk-based development (TBD) is a source-control branching model where developers collaborate on code in a single branch called trunk. The key benefit is to avoid drift in development branches and the resulting merge complications.

TBD is a key enabler of CI and continuous delivery. When individuals on a team commit their changes to the trunk multiple times a day, it becomes easy to satisfy the core requirement of CI (all the team members commit their changes to trunk at least once every 24 hours). It ensures the codebase is always releasable on demand and helps to make continuous delivery a reality.

TBD is a software development strategy where the engineers merge minor changes more frequently into the main codebase and work off the trunk copy rather than work on long-lived feature branches. The dev team shares a branch called trunk, and each developer creates a short-lived feature branch, where the developer can commit the changes to the trunk (master) and not to the release branches. With the trunk-based approach, we will also have a pre-integration step of running the build first (which must pass).

Release versus Hotfix

Hotfix Release Package Management

To prepare the release package in hotfix:

  1. Release admin prepares a hotfix branch that is used by the developer to include their fixes. The Workbench proposes to create the hotfix branch based on a tag in Git.
  2. Developers work on the hotfix branch with short-lived feature branches and create pull requests that can be reviewed and merged by a lead developer.
  3. Developers include their fixes in the master branch as well.
  4. Release Admin triggers a hotfix release package build by selecting the appropriate hotfix branch.

Field Name
|
Application/Table name

Temenos Headquarters SA
2 Rue de l'Ecole-de-Chimie
CH - 1205 Geneva
Switzerland

Copyright © 2020- Temenos Headquarters SA

Published on :
Tuesday, May 23, 2023 7:30:26 PM IST