The AKEless Build System for C#/.NET
Table of Contents
- Description
- Features
- Example
- Continuous Integration
- Contributing
- Backers & Sponsors
- Users
- Acknowledgements
Description
NUKE is an open-source build automation system for C#/.NET that runs cross-platform on .NET Core, .NET Framework, and Mono. While builds are bootstrapped with conventional Bash or PowerShell scripts, their actual implementation resides in simple C# console applications. This approach unleashes the power of the type system and natively provides IDE features like code-completion, refactorings, and debugging. A custom global tool and several IDE extensions further improve how build projects are setup, authored and executed. A revolutionary code-generation approach ensures scalable integration of third-party tools like MSBuild or dotnet CLI.
For more information checkout the resources and FAQ sections.
Features
Here is a short list of some most-loved features:
๐ฒ Easy to adopt in a team๐ง Comfortable to run๐ฅ Powerful dependency model๐ฅ Parameter declarations๐พ Extensive tools supportโ๏ธ Deep CI integration๐ Build sharing options๐ Project model support๐พ Abstraction of OS paths๐งฉ Extensibility points๐ IDE extensions๐ Logging and assertionsโค๏ธ Backed by community
Example
Continuous Integration
NUKE builds and tests itself on several different CI servers, which helps ensuring a working integration with those systems. At the same time, the individual configuration files serve as example for the generation experience:
Build Server | Status | Platform | Configuration |
---|---|---|---|
AppVeyor | Win / Ubuntu | appveyor.yml | |
Azure Pipelines | Win / Linux / MacOS | azure-pipelines.yml | |
Bitrise | Ubuntu | N/A | |
GitHub Actions | Win / Ubuntu / MacOS | continuous.yml | |
TeamCity | Win | settings.kts | |
Travis CI | MacOS / Ubuntu | .travis.yml |
Contributing
NUKE is already a stable full-featured tool that allows implementing build automation on a professional level, and it continues to evolve! We add new features all the time, but we have too many new cool ideas so that any help is highly appreciated. You can develop new features, fix bugs, improve the documentation, or do some other cool stuff.
If you want to contribute, check out the contribution guidelines and first-timer issues. If you have new ideas or want to complain about bugs, feel free to create an issue. Let's create the best tool for build automation together!
Thanks to all the great people who have already contributed to the project!
Backers & Sponsors
This project is driven by contributors investing their private free time. If it helps you improving your productivity and thus financial situation, please consider becoming a backer (individuals) or sponsor (companies). Your monetary contributions will be used to further promote the project (website, stickers, cups). Additional profits will be forwarded to non-profit associations.
Users
- aspnetboilerplate/aspnetboilerplate
โญ๏ธ - AvaloniaUI/Avalonia
โญ๏ธ - avivasolutionsnl/sitecore-commerce-docker
- avivasolutionsnl/sitecore-docker
- fluentassertions/fluentassertions
โญ๏ธ - GeorgDangl/LightQuery
- JetBrains/YouTrackSharp
- joaomatossilva/DateTimeExtensions
- JoshClose/CsvHelper
โญ๏ธ - nuke-build/nuke
โญ๏ธ - nuke-build/web
- ViGEm/HidGuardian
- VirtoCommerce/vc-platform
โญ๏ธ - zarunbal/LogExpert
โญ๏ธ
Acknowledgements
Thanks to JetBrains for providing licenses for Rider and access to the community TeamCity instance, which both make open-source development a real pleasure!