Last modified: May 28, 2024

Development Applications

Development Applications are used by the devops team to support the different development capabilities required.

Application Lifecycle Management Applications

Requirement & Release Management

Use cases are defined in Github. We have defined differen types of template to support creation of user stories.

Releases are managed on Github.

See releases here.

Manual & Automated Test Tools

Functional Test

  • Automated browser testing and WCAG testing using Cypress.

Unit Test

  • Jest framework used for unit testing front-end. More details here.
  • xunit used for unit testing back-end.

Service & API Test

Performance Testing & Profiling

We will use K6 for performance testing.

Testmanagement

DevSecOps Applications

UX Design

We use Figma for prototypes.

See our Figma Guidlines.

Artefact & Code Repository

Github is uses for all Open Source code. See our GitHub repository.

Azure Repos in Azure DevopsServices is used for other artefacts

Architecture Design

Application design is created using MarkDown and published on this site. Visio is used for application drawings.

IDE

The project uses Visual Studio Code and Visual Studio as IDE.

Build Tools

The project uses different build tools based the framework.

.NET packages & applications

We use .Net build to build .Net packages and applications.

With help of Nuget packages we can easyly re-use modules accross applicatons in the different solution.

Javascript Packages & applications

Node is the main tool to build our javascript pacakges and applications

Lerna is used to …

Java packages & application

We use Maven to build our java applications.

Docker containers

All applications is built as Docker Containers using Docker Build

Se Docker files for Altinn Platform

See docker files for Altinn Studio

Artefact & Container Registry

.NET Packages

.NET packages som part of the codes are published as Nuget Packages. This process is manual and performed by developer.

.Net packes used are also retrived from .Net

Javascript packages

The project uses NPM for javascript packages.

In the future we will publish NPM packages for parts of the solutions.

Docker Containers

Dockers containers are published to Azure Container Registry

There is a shared Altinn Container Registry for the different Environments for Altinn Studio and Altinn Platform.

Note as part of the runtime capabilityes we also use Azure Container Registry for apps created in Altinn Studio. See solution components

Deployment Orchestration

We use Azure Pipelines for deployment orchestration of the different components in the different solutions.

The deploy process consist of 3 types of pipelines

  • Publish Build artifacts to Azure Pipelines: Deploy Helm chart from Azure Devops repos to Azure Devops pipelines
  • Build Docker Image : Build Docker Images and publish to Container Registry
  • Release pipeline: Deploy a given container version from Azure Container Registry to a Kubernetes Cluster

The deploy pipelines has typical support for deployment to different environments (Stages).

Release pipelines

Helm is used to set environments variables for the different environments.

Piplines

The following build pipelines is defined

The following release pipelines is defined