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
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.
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.
build: Cake. Don't use deployment API or Addins (like GitReleaseManager).
deploy: Octopus.
For deploying via Octopus, there's a separate issue: #31
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.
Cake offers a C#-based DSL for describing how a project should be built. So instead of maintaining the
build.sh
andbuild.ps1
scripts for building, a singlebuild.cake
file is enough.The Cake bootstrappers (Cake's own
build.sh
andbuild.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.