CI for .NET
Build and test a .NET application using standard library tooling.
Use template →steps:
- label: ":dotnet: Restore dependencies"
command: "dotnet restore --packages .nuget/packages"
key: "deps"
plugins:
- docker:
image: mcr.microsoft.com/dotnet/sdk:8.0
- artifacts:
upload: .nuget/packages
compressed: .nuget/packages.tgz
- artifacts:
upload: obj/*
- label: ":dotnet: Build"
command: "dotnet build --configuration Release --no-restore --property:EnforceCodeStyleInBuild=true"
depends_on: "deps"
plugins:
- artifacts:
download: .nuget/packages
compressed: .nuget/packages.tgz
- artifacts:
download: obj/*
- docker:
image: mcr.microsoft.com/dotnet/sdk:8.0
- label: ":dotnet: Run tests"
command: "dotnet test --no-restore --verbosity normal"
depends_on: "deps"
plugins:
- artifacts:
download: .nuget/packages
compressed: .nuget/packages.tgz
- artifacts:
download: obj/*
- docker:
image: mcr.microsoft.com/dotnet/sdk:8.0
- Languages
- C#
- Use cases
- Continuous integration, Web application
- Tools
- .NET
CI for .NET
This template provides a continuous integration (CI) pipeline that builds and tests a .NET application.
At a glance:
- For .NET applications
- Requires Docker
- Uses the .NET SDK CLI
How it works
This template:
- Restores project dependencies using
dotnet restore
and caches them for use across subsequent steps. - Builds the project using using
dotnet build
. - Runs unit tests using
dotnet test
.
The runtime environment uses the official .NET SDK Docker image with the latest version.
Next steps
After you select Use template, you’ll:
- Connect the Git repository for your .NET application.
- Configure the compute—run locally, on-premises, or in the cloud.
- Run the pipeline.
You can then play around with the pipeline settings. For example, run the pipeline locally while you iterate on the definition or set a schedule to trigger a nightly build.
If you need help, please check our documentation, raise an issue , or reach out to support.