Define your pipeline in .NET! Strong types, intellisense, parallelisation, and the entire .NET ecosystem at your fingertips.
Features
Parallel execution with easy waiting on dependencies if necessary
Familiar C# code
Ability to debug pipelines
Ability to run pipelines locally, even creating versions for setting up local development
Strong typing, where different modules/steps can pass data to one another
Dependency collision detection - Don't worry about accidentally making two modules dependent on each other
Numerous helpers to do things like: Search files, check checksums, (un)zip folders, download files, install files, execute CLI commands, hash data, and more
Easy to Skip or Ignore Failures for each individual module by passing in custom logic
Hooks that can run before and/or after modules
Pipeline requirements - Validate your requirements are met before executing your pipeline, such as a Linux operating system
Easy to use File and Folder classes, that can search, read, update, delete and more
Source controlled pipelines
Build agent agnostic - Can easily move to a different build system without completely recreating your pipeline
No need to learn new syntaxes such as YAML defined pipelines
Strongly typed wrappers around command line tools
Utilise existing .NET libraries
Secret obfuscation
Grouped logging, and the ability to extend sources by adding to the familiar ILogger
Dynamic console progress reporting (if the console supports interactive mode)
Available Modules
Package
Description
Version
ModularPipelines
The base package for Modular Pipelines. This contains the framework for building, executing, controlling and reporting your modules.
ModularPipelines.AmazonWebServices
Helpers for interacting with Amazon Web Services.
ModularPipelines.Azure
Helpers for interacting with Azure.
ModularPipelines.Azure.Pipelines
Helpers for interacting with Azure Pipeline agents.
ModularPipelines.Cmd
Helpers for interacting with the Windows cmd process.
ModularPipelines.Docker
Helpers for interacting with the Docker CLI.
ModularPipelines.DotNet
Helpers for interacting with dotnet CLI.
ModularPipelines.Email
Helpers for sending emails.
ModularPipelines.Ftp
Helpers for downloading and uploading via FTP.
ModularPipelines.Git
Helpers for interacting with git.
ModularPipelines.GitHub
Helpers for interacting with GitHub Actions build agents.
ModularPipelines.Helm
Helpers for interacting with Helm CLI.
ModularPipelines.Kubernetes
Helpers for interacting with kubectl CLI.
ModularPipelines.MicrosoftTeams
Helpers for sending Microsoft Teams cards.
ModularPipelines.Node
Helpers for interacting with node / npm CLI.
ModularPipelines.NuGet
Helpers for interacting with dotnet nuget CLI.
ModularPipelines.Slack
Helpers for sending Slack cards.
ModularPipelines.TeamCity
Helpers for interacting with TeamCity build agents.
ModularPipelines.Terraform
Helpers for interacting with Terraform CLI.
Getting Started
If you want to see how to get started, or want to know more about ModularPipelines, read the Wiki page here