CI for .NET
Build and test a .NET application using standard library tooling.
Use template →1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
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.