Skip to main content

NUKESmart automation for DevOps teams and CI/CD pipelines

Unmatched Productivity

Make yourself at home with build automation that is bootstrapped with simple .NET console applications and build steps that are defined as regular C# properties. No magic strings attached!

Enjoy first-class IDE integration. Features like code-completion, navigation, refactorings, and debugging are supported out-of-the-box! For improved development experience, you can install one of the support extensions.

Native and Extended Support for:

JetBrains RiderReSharperVisual StudioVisual Studio Code

class Build : NukeBuild
{
public static int Main() => Execute<Build>();

Target Restore => _ => _
.Executes(() =>
{
// Restore implementation
});

Target Compile => _ => _
.DependsOn(Restore)
.Executes(() =>
{
// Compile implementation
});
}

Get Started in Seconds

NUKE comes with a .NET global tool that provides a comfortable way to setup and execute your build projects right from your terminal.

dotnet tool install Nuke.GlobalTool --global
nuke :setup
nuke

With additional configuration, you can get your global tool to complete targets and parameters that are specific to your individual build.

Easy to Troubleshoot

Investigate issues on your local machine with all debugger features. Run build steps in isolation without changing dependencies.

Granular Versioning

Version your build project alongside your solution and use dedicated branches to implement and test new builds steps.

Reusable Components

Streamline your production by extracting common build steps and reusing them across all your projects.

[GitHubActions(
"deployment",
GitHubActionsImage.UbuntuLatest,
OnPushBranches = new[] { MainBranch },
InvokedTargets = new[] { nameof(Publish) },
ImportSecrets = new[] { nameof(NuGetApiKey) })]
class Build : NukeBuild
{
Target Pack => _ => _
.Produces(RootDirectory / "output" / "*.nupkg")
.Executes(() => { /* Pack implementation */ });

[Parameter] [Secret] readonly string NuGetApiKey;

Target Publish => _ => _
.Requires(() => NuGetApiKey)
.DependsOn(Pack)
.Executes(() => { /* Publish implementation */ });
}

Ready for CI/CD

Integrate your builds in CI/CD environments within seconds and without the usual YAML struggle. Apply one of the built-in attributes to generate configuration files based on your existing C# build definition. Every change is verified by the compiler!

With multi-agent CI/CD services you can easily parallelize time-consuming build steps, for example tests, to improve your build times! Other individual features like caching, secret imports, and publishing artifacts come preconfigured.

Integration with:

GitHubGitHubTeamCityAzure PipelinesGitLabBitbucketJetBrains Space AutomationAppVeyorJenkins

About our Community

Our community is actively speaking about NUKE at conferences and meetups around the world. Check out Unleash your build with NUKE presented by Todor Todorov at the DevOps Porto Meetup, which walks through some of the most distinguished features.

Community Sponsors:

Rodney Littles IIOlga NelioubovVova LantsovDaniel ValadasAnton WieslanderChase Florellbusiness//actsxsegno GmbHStephan MüllerBitbonkMatt BrailsfordDavid DriscollActipro SoftwareLogan LaughlinAlex SinkMartin GillTrey CookTodor TodorovSteven KuhnAdam RenaudVezel

Matt Richardson
Matt Richardson
Lead Engineer at Octopus Deploy

NUKE has been a game changer in our build pipelines. Previously, the use of DSL-based build scripts meant that few people were comfortable making changes. Now, with our builds expressed in C#, change is no longer scary. We now get full IDE support (rather than errors from coding in a custom language), we get refactoring support, unit tests, and more.

Dennis Doomen
Dennis Doomen
Principal Consultant at Aviva Solutions B.V.

Having worked with many different build tools, there was always something missing that ruined my productivity. Either the lack of proper IntelliSense, the (in)ability to refactor and debug my build scripts, or the need to build all kinds of custom plumbing. Nothing can match the experience of treating your build scripts as first-class citizens of your code-base. Everything works as you would expect from a current-generation build framework. So don't accept anything less.

Ron Myers
Ron Myers
Co-Founder at Thinking Big

What NUKE has saved me in pipeline integration could be measured in sprints. Annotate your build class with one attribute and your project is ready to add to the target CI/CD server - it feels magic! NUKE is the perfect tool for small and large teams alike - pure C# build scripts - easy to code review and grok.