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.
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
- API testing is done using Postman. More details here.
- Integration testing of services done using standard Microsoft frameworks.
Performance Testing & Profiling
We will use K6 for performance testing.
Testmanagement
- Azure Test Plans in Azure Devops is usted for execution tracking
- Defects reported as issues in Github, using the Bug template.
DevSecOps Applications
UX Design
We use Figma for prototypes.
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
- Authentication component
- Authorization component
- PDF Component
- Profile Component
- Receipt Component
- Register Component
- Storage Component
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).
Helm is used to set environments variables for the different environments.
Piplines
The following build pipelines is defined
The following release pipelines is defined
- Altinn Studio - Designer
- Altinn Studio - Repositories
- Altinn Studio - Loadbalancer
- Altinn Studio - Kubernetswrapper
- Altinn Authorization
- Altinn Authentication
- Altinn PDF
- Altinn Profile
- Altinn Receipt
- Altinn Register
- Altinn Storage
- Altinn Events
- Altinn Notifications
- Altinn Access Management
- Altinn Resource Registry
- Kubernets Wrapper