![]() |
VOOZH | about |
dotnet add package ModularPipelines.DotNet --version 2.46.1
NuGet\Install-Package ModularPipelines.DotNet -Version 2.46.1
<PackageReference Include="ModularPipelines.DotNet" Version="2.46.1" />
<PackageVersion Include="ModularPipelines.DotNet" Version="2.46.1" />Directory.Packages.props
<PackageReference Include="ModularPipelines.DotNet" />Project file
paket add ModularPipelines.DotNet --version 2.46.1
#r "nuget: ModularPipelines.DotNet, 2.46.1"
#:package ModularPipelines.DotNet@2.46.1
#addin nuget:?package=ModularPipelines.DotNet&version=2.46.1Install as a Cake Addin
#tool nuget:?package=ModularPipelines.DotNet&version=2.46.1Install as a Cake Tool
Define your pipeline in .NET! Strong types, intellisense, parallelisation, and the entire .NET ecosystem at your fingertips.
👁 Nuget
👁 GitHub Workflow Status (with event)
👁 GitHub last commit (branch)
👁 Codacy Badge
👁 CodeFactor
👁 License
👁 Codacy Badge
👁 codecov
https://thomhurst.github.io/ModularPipelines
ILogger| Package | Description | Version |
|---|---|---|
| ModularPipelines | Write your pipelines in C#! | 👁 nuget |
| ModularPipelines.AmazonWebServices | Helpers for interacting with Amazon Web Services. | 👁 nuget |
| ModularPipelines.Azure | Helpers for interacting with Azure. | 👁 nuget |
| ModularPipelines.Azure.Pipelines | Helpers for interacting with Azure Pipeline agents. | 👁 nuget |
| ModularPipelines.Chocolatey | Helpers for interacting with the Chocolatey CLI. | 👁 nuget |
| ModularPipelines.Cmd | Helpers for interacting with the Windows cmd process. | 👁 nuget |
| ModularPipelines.Docker | Helpers for interacting with the Docker CLI. | 👁 nuget |
| ModularPipelines.DotNet | Helpers for interacting with dotnet CLI. | 👁 nuget |
| ModularPipelines.Email | Helpers for sending emails. | 👁 nuget |
| ModularPipelines.Ftp | Helpers for downloading and uploading via FTP. | 👁 nuget |
| ModularPipelines.Git | Helpers for interacting with git. | 👁 nuget |
| ModularPipelines.GitHub | Helpers for interacting with GitHub Actions build agents. | 👁 nuget |
| ModularPipelines.Google | Helpers for interacting with the Google gcloud CLI. | 👁 nuget |
| ModularPipelines.Helm | Helpers for interacting with Helm CLI. | 👁 nuget |
| ModularPipelines.Kubernetes | Helpers for interacting with kubectl CLI. | 👁 nuget |
| ModularPipelines.MicrosoftTeams | Helpers for sending Microsoft Teams cards. | 👁 nuget |
| ModularPipelines.Node | Helpers for interacting with node / npm CLI. | 👁 nuget |
| ModularPipelines.Slack | Helpers for sending Slack cards. | 👁 nuget |
| ModularPipelines.TeamCity | Helpers for interacting with TeamCity build agents. | 👁 nuget |
| ModularPipelines.Terraform | Helpers for interacting with Terraform CLI. | 👁 nuget |
| ModularPipelines.WinGet | Helpers for interacting with the Windows Package Manager. | 👁 nuget |
| ModularPipelines.Yarn | Helpers for interacting with Yarn CLI. | 👁 nuget |
If you want to see how to get started, or want to know more about ModularPipelines, read the Documentation here
<img width="444" alt="image" src="https://github.com/thomhurst/ModularPipelines/assets/30480171/8963e891-2c29-4382-9a3e-6ced4daf4d4b">
dotnet runawait PipelineHostBuilder.Create()
.ConfigureAppConfiguration((context, builder) =>
{
builder.AddJsonFile("appsettings.json")
.AddUserSecrets<Program>()
.AddEnvironmentVariables();
})
.ConfigureServices((context, collection) =>
{
collection.Configure<NuGetSettings>(context.Configuration.GetSection("NuGet"));
collection.Configure<PublishSettings>(context.Configuration.GetSection("Publish"));
collection.AddSingleton<ISomeService1, SomeService1>();
collection.AddTransient<ISomeService2, SomeService2>();
})
.AddModule<FindNugetPackagesModule>()
.AddModule<UploadNugetPackagesModule>()
.ExecutePipelineAsync();
public class FindNugetPackagesModule : Module<FileInfo>
{
protected override Task<List<File>?> ExecuteAsync(IPipelineContext context, CancellationToken cancellationToken)
{
return context.Git()
.RootDirectory
.GetFiles(path => path.Extension is ".nupkg")
.ToList()
.AsTask();
}
}
[DependsOn<FindNugetPackagesModule>]
public class UploadNugetPackagesModule : Module<FileInfo>
{
private readonly IOptions<NuGetSettings> _nugetSettings;
public UploadNugetPackagesModule(IOptions<NuGetSettings> nugetSettings)
{
_nugetSettings = nugetSettings;
}
protected override async Task<CommandResult?> ExecuteAsync(IPipelineContext context, CancellationToken cancellationToken)
{
var nugetFiles = await GetModule<FindNugetPackagesModule>();
return await nugetFiles.Value!
.SelectAsync(async nugetFile => await context.DotNet().Nuget.Push(new DotNetNugetPushOptions
{
Path = nugetFile,
Source = "https://api.nuget.org/v3/index.json",
ApiKey = _nugetSettings.Value.ApiKey!,
}, cancellationToken), cancellationToken: cancellationToken)
.ProcessOneAtATime();
}
}
While I will try to limit breaking changes, there may be some changes within minor versions. These will be noted on release notes.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 net6.0 is compatible. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 is compatible. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 is compatible. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
Showing the top 3 NuGet packages that depend on ModularPipelines.DotNet:
| Package | Downloads |
|---|---|
|
ModularPipelines.NuGet
Helpers for interacting with dotnet nuget CLI. |
|
|
AppPipe.Hosting
A lightweight telemetry dashboard and service discovery gateway runner for microservices, serving as an on-premises alternative to .NET Aspire dashboard. Supports IIS and Linux deployment with dynamic port bindings and OTLP metrics, logs, and traces. |
|
|
Rocket.Surgery.ModularPipelines.Extensions
Package Description |
Showing the top 6 popular GitHub repositories that depend on ModularPipelines.DotNet:
| Repository | Stars |
|---|---|
|
thomhurst/TUnit
A modern, fast and flexible .NET testing framework
|
|
|
lookup-foundation/RevitLookup
Interactive Revit RFA and RVT project database exploration tool to view and navigate BIM element parameters, properties and relationships.
|
|
|
Nice3point/RevitTemplates
Templates for creating Revit add-ins
|
|
|
Nice3point/RevitExtensions
Extensions for Revit plugin development
|
|
|
Nice3point/RevitToolkit
Toolkit for Revit plugin development
|
|
|
thomhurst/EnumerableAsyncProcessor
Process Multiple Asynchronous Tasks in Various Ways - One at a time / Batched / Rate limited / Concurrently
|
| Version | Downloads | Last Updated |
|---|---|---|
| 3.2.8 | 8,437 | 4/17/2026 |
| 3.1.90 | 42,774 | 2/7/2026 |
| 3.1.6 | 7,363 | 1/19/2026 |
| 3.1.5 | 330 | 1/19/2026 |
| 3.1.0 | 337 | 1/18/2026 |
| 3.0.124 | 303 | 1/18/2026 |
| 3.0.86 | 303 | 1/18/2026 |
| 3.0.1 | 476 | 1/17/2026 |
| 3.0.0 | 270 | 1/16/2026 |
| 2.48.531-alpha0001 | 121 | 1/16/2026 |
| 2.48.528-alpha0001 | 136 | 1/16/2026 |
| 2.48.517-alpha0003 | 139 | 1/16/2026 |
| 2.48.499-alpha0001 | 132 | 1/16/2026 |
| 2.48.496-alpha0001 | 145 | 1/16/2026 |
| 2.48.30 | 10,841 | 11/2/2025 |
| 2.48.29 | 377 | 11/2/2025 |
| 2.48.8 | 729 | 10/30/2025 |
| 2.47.8 | 11,167 | 8/10/2025 |
| 2.47.0 | 1,070 | 8/9/2025 |
| 2.46.1 | 817 | 8/8/2025 |