cake is a free, open source build & deployment project written in C# and released under MIT. It has 4,191 GitHub stars, 778 forks and 247 open issues, and was last pushed yesterday. On this registry it ranks #34 of 59 tracked projects in Build & Deployment, with 5 head-to-head comparisons available.

What is cake?

What it is

Cake, called C# Make, is cross-platform build automation system. It lives in .NET ecosystem. It lets developers write build logic in C#. That logic can compile code, copy files and folders, run unit tests, compress files, build NuGet packages. Project is MIT-licensed C# software. It provides Cake .NET Tool, Cake Frosting, Cake SDK packages.

Problem Cake solves is need to turn common .NET build tasks into repeatable scripts. Those scripts can run across operating systems and inside continuous-integration pipelines. Instead of only shell commands or tool-specific configuration, team can express compile, test, package, file-handling steps through C# domain-specific language. README and topics point to build automation, build tool, dotnet, dotnetcore, NuGet, NUnit, continuous-integration.

Key capabilities

  • Cake provides C# domain-specific language for build scripts.
  • It can compile code during build workflow.
  • It can copy files and folders during build or packaging tasks.
  • It can run unit tests, with NUnit topic indicating test execution support.
  • It can compress files during build workflow.
  • It can build NuGet packages, connecting Cake to .NET package ecosystem.
  • It offers Cake .NET Tool, Cake Frosting, Cake SDK runners, with released versions on NuGet and development versions on Azure Artifacts.

Who uses it and how

  • .NET developers use Cake to script build steps: compile source code, copy build outputs, run tests, produce NuGet packages.
  • Teams using continuous integration can place Cake inside automated pipelines, because topics and README describe continuous-integration support.
  • Cake project is built on Windows, macOS, Debian, Fedora, CentOS, Ubuntu through Azure Pipelines, AppVeyor, TeamCity, Bitrise.
  • Users preferring package-based installation obtain Cake runners from NuGet for released versions or Azure Artifacts for development versions.
  • Projects already using NuGet and NUnit can use Cake to connect build execution, test execution, package creation.

Getting started

Install released Cake runner such as Cake .NET Tool, Cake Frosting, Cake SDK from NuGet. Use Azure Artifacts development feed when development build needed.

When to use it — and when not to

Cake fits when team already works in C# and .NET and wants build scripts across platforms, integrated with NuGet and NUnit. It is less suitable if hosted build service needed, because README describes package installation and runners, not hosted option. Repository has open issues, so check current state of specific runner or package before adopting Cake for build pipeline.

project readme (upstream, from github) — read inline

Cake

Cake (C# Make) is a build automation system with a C# DSL to do things like compiling code, copy files/folders, running unit tests, compress files and build NuGet packages.

Runner Latest Released Latest Develop
Cake .NET Tool NuGet Azure Artifacts
Cake Frosting NuGet Azure Artifacts
Cake SDK NuGet Azure Artifacts

Continuous integration

Build server Platform Build status Integration tests
Azure Pipelines MacOS Azure Pipelines Mac Build status
Azure Pipelines Windows Azure Pipelines Windows Build status
Azure Pipelines Debian Azure Pipelines Debian Build status
Azure Pipelines Fedora Azure Pipelines Fedora Build status
Azure Pipelines Centos Azure Pipelines Cake Centos status
Azure Pipelines Ubuntu Azure Pipelines Ubuntu Build status
AppVeyor Windows AppVeyor branch AppVeyor branch
TeamCity Windows TeamCity Build Status
Bitrise MacOS Build Status Build Status
Bitrise Debian Build Status Build Status
Bitbucket Pipelines Debian Build Status
GitLab Debian pipeline status
GitHub Windows / Ubuntu/ macOS Build Status
Woodpecker CI Debian Woodpecker CI status Woodpecker CI Status
RWX Ubuntu [![RWX Build Status](https://cloud.rwx.com/status_badges/cake.svg?branch=develop&definition=.rwx%2Fcake.y

readme truncated — read the full docs on github

Frequently asked questions

Is cake free to use?

cake is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does cake do?

:cake: Cake (C# Make) is a cross platform build automation system.

What is cake written in?

cake is primarily written in C#. Its source is publicly available at https://github.com/cake-build/cake, and it has 4,191 GitHub stars.