Stands for Software Development Life Cycle and in general describes how developers are going to coordinate their effort to produce functional software. On the project we will rely on the following:

  • GIT is going to be central repository for source code.

  • Gradle is used as build tool for java related projects.

  • Continuous integration is approach to put all produced parts of code together as often as possible and validate, that they do work together.

  • Environments contains partial or full product installations. Their usage on the project is described below.

Working with GIT

Continuous Integration

Is fairy old and undervalued, or sometimes misunderstood practice. Continuous Integration (CI) is often understood as automatic build process after each commit/merge etc. Yet, this is just one, and not crucial one, feature of CI.

Great article on this topic wrote Martin Fowler.

For CI we are going to use initially Github Actions for the whole build process. Later, we are going to use Argo CD for deployment stage of the process.

Environments

We use https://argocd.safibank.online/ for deploying services into the environments. (Log in via Okta):

Vault is used as storage for secrets. To log in and view secrets, select Okta and pass your Okta credentials to the form (see the following picture). Secrets for applications are available by path secret/name_of_environment/apps

List of environments:

Attachments: