philippgille / hello-netcoreapp

Basic .NET Core console application with additional scripts and files for building the app and creating release artifacts for a framework-dependent deployment, self-contained deployment, Docker image, Chocolatey package and AppImage
GNU General Public License v3.0
6 stars 5 forks source link

Use Cake instead of Bash and PowerShell build scripts #30

Open philippgille opened 7 years ago

philippgille commented 7 years ago

Cake offers a C#-based DSL for describing how a project should be built. So instead of maintaining the build.sh and build.ps1 scripts for building, a single build.cake file is enough.

The Cake bootstrappers (Cake's own build.sh and build.ps1 scripts) make sure all build-time dependencies are installed on the build system.

Cake offers a rich API for doing things that otherwise have to be done manually, like ChocolateyPack, IsRunningOnTravisCI, DotNetCoreBuild, Signing, GitReleaseManager and many 3rd party Addins.

It can also be combined with Octopus for Deployments with OctopusDeploy. When using Octopus, we should separate the build and deployment phases and the tools used for them.

For deploying via Octopus, there's a separate issue: #31

https://cakebuild.net/

Note: Before moving to Cake, we need to make sure everything that's currently done in the build scripts can be done with Cake and also if building with Cake works in a Docker container.