2. GIT Repository

The source code of DATAGERRY is managed in a GIT repository on GitHub:

2.1. Branches

We use several branches in our GIT repository:

development

The development of DATAGERRY is done in this branch. Every new feature, bugfix, … should be commited to that branch.

master

Branch with a stable version of DATAGERRY. All integration tests and CI should have been passed before merging the development branch into master. A merge of development to master will usually be done at the end of a sprint.

version-<version>

Version branches should be created for every minor version, e.g. version-1.2 or version-1.5. It should branch from master. For each released version (e.g. 1.2.1), a tag should be set on a version branch. Bugfixes can be added to a version branch to prepare for a new bugfix release (e.g. 1.2.2)

2.2. Creating a Release

Releases should be versioned using Semantic Versioning.

To create a release, do the following steps:

  1. create a version-<minorversion> (e.g. version-1.2) branch from master

  2. set a tag with the full version number (e.g. 1.2.1) on the last commit on that branch

To create a bugfix release of an existing version, do the following steps:

  1. merge bugfixes in an exitsing version-<minorversion> branch

  2. set a tag with the full version number (e.g. 1.2.1) on the last commit on that branch

A tag should be set by creating a release in the GitHub WebUI. Github Actions release workflow will start automatically after setting a new release and will create binaries, Docker images and documentation.

4. Process Management — DATAGERRY feature-NET-902_results-display-length-d441d666495ffc9d1bcd553983911d633e6174ee documentation

4. Process Management

The DATAGERRY application consists of mulitple services. Each service is a Python process. The ProcessManager (cmdb.process_management.process_manager.ProcessManager) will start and stop all services in the correct order.

A services needs to implement the AbstractCmdbService class (cmdb.process_management.service.AbstractCmdbService).

4.1. adding a new service

To add a new service to DATAGERRY, write your own implementation of AbstractCmdbService and add a service definition to ProcessManager.