Skip to main content

Standard .NET CI

This ci file handles everything from building to deploying a .NET project with waypoint.

info

To build NuGet packages please refer to my NuGet CI.

Getting started

Add the following to your .gitlab-ci.yml

.gitlab-ci.yml
include:
- project: "abfelbaum/ci"
file: "dotnet/standard.yml"

variables:
DOTNET_PROJECT_PATH: "path/to/your/projectfile.csproj"

Configuration

The ci configuration depends on various templates that all have their own configuration. Please have a short look at them in case they need any configuration for your use case.

NameType
ReleaseCI
SecurityCI
Containers updateCI
Containers re-tagTemplate
.NET buildTemplate
waypoint buildTemplate
waypoint deployTemplate

Additional configuration

VariableDefault valueDescription
CS_IMAGE${CI_REGISTRY_IMAGE}:${CI_COMMIT_SHA}The container image that should be scanned by the container_scanning job. Has to always refer to the image with the current commit hash as a tag

What it does

The template triggers at every commit a .NET build. A container build can be triggered manually.

For every pipeline a manual job for releasing is added.

On a release a docker container is built and pushed to the container registry. For stable releases the container is then deployed to production.