series: .NET on Kubernetes
- NuGet library CI: versioning from branch name and dual-registry publish dotnet pack with version from branch name, push to GitLab Package Registry via CI_JOB_TOKEN, selective publish to Artifactory for stable releases with manual gate and user restriction.
- SonarQube in GitLab CI: dotnet-sonarscanner and coverage delta GIT_DEPTH:0 for blame, custom SDK image per service via rules variables override, dotnet-coverage collection, coverage delta check against last successful pipeline via GitLab API.
- ELK in Kubernetes: Elasticsearch, APM Server, and Kibana ELK stack via Helm in FluxCD, Elastic APM agent in .NET with zero-code auto-instrumentation, index lifecycle management, and correlating logs with APM service maps in Kibana.
- OpenTelemetry in .NET: traces, metrics, and logs with minimal boilerplate OTel SDK setup in Program.cs, Prometheus exporter for /metrics, custom ActivitySource spans, custom Meter counters and histograms, OTLP exporter, and OTel Collector HelmRelease.
- Multi-stage Dockerfile for .NET: build once, run lean Three-stage pattern with restore/build/runtime layers, cache optimization by separating project files from source code, non-root user, readOnlyRootFilesystem, BuildKit registry caching in GitLab CI.
No posts match the selected filters.