PleOps.Cake
0.8.0
PleOps recipes based on Cake DSL are not supported. To continue using PleOps recipes, migrate to Cake Frosting based build systems.
dotnet add package PleOps.Cake --version 0.8.0
NuGet\Install-Package PleOps.Cake -Version 0.8.0
<PackageReference Include="PleOps.Cake" Version="0.8.0"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add PleOps.Cake --version 0.8.0
#r "nuget: PleOps.Cake, 0.8.0"
// Install PleOps.Cake as a Cake Addin #addin nuget:?package=PleOps.Cake&version=0.8.0 // Install PleOps.Cake as a Cake Tool #tool nuget:?package=PleOps.Cake&version=0.8.0
PleOps.Cake pipeline
Full automated build, test, stage and release pipeline for .NET projects based on Cake. Check also the template repository to see the pipeline in action!
Release | Package |
---|---|
Stable | |
Preview | Azure Artifacts |
Requirements
- .NET 6.0 SDK
- [Linux and MacOS only] Mono 6 (for DocFX)
Build system command
The following target are available for build, test and release.
BuildTest
: build the project and run its tests and quality assurance tools.Generate-ReleaseNotes
: generate a release notes and full changelog by analyzing issues and PR of GitHub.Stage-Artifacts
: runBuildTest
, generate the release notes, build the documentation, pack the libraries in NuGet and stage the executables.Push-Artifacts
: push the libraries, applications and documentation to the preview or stable feed.
Preview versions
To use a preview version, add a nuget.config
file in the same directory as
build.cake
with the following content:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear/>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="PleOps-Preview" value="https://pkgs.dev.azure.com/benito356/NetDevOpsTest/_packaging/PleOps/nuget/v3/index.json" />
</packageSources>
<packageSourceMapping>
<packageSource key="nuget.org">
<package pattern="*" />
</packageSource>
<packageSource key="PleOps-Preview">
<package pattern="PleOps.Cake" />
</packageSource>
</packageSourceMapping>
</configuration>
Documentation
Feel free to ask any question in the project Discussion site!
Check the documentation for more information. For reference, this is the general build and release pipeline.
Build
The project requires to build .NET 6.0 SDK (Linux and MacOS require also Mono). If you open the project with VS Code and you did install the VS Code Remote Containers extension, you can have an already pre-configured development environment with Docker or Podman.
To build, test and generate artifacts run:
# Only required the first time
dotnet tool restore
# Default target is Stage-Artifacts
dotnet cake
To just build and test quickly, run:
dotnet cake --target=BuildTest
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
## v0.8.0 (March 01, 2023)
As part of this release we had [1 issue](https://github.com/pleonex/PleOps.Cake/milestone/14?closed=1) closed.
### Migration steps
- Update `cake.tool` to `3.0` in _.config/dotnet-tools.json_. You can also run `dotnet tool update cake.tool`
- Update the PleOps.Cake version to 0.8.0 from `build.cake`
- If using VS Code Remote Containers, pull and rebuild the container
- Note that this version upgrades some third-party dependencies that use native libraries. They may no longer run in _older_ versions of Linux OS that use libc < 2.33 like Ubuntu Focal or Debian 11.
__enhancement__
- [__#61__](https://github.com/pleonex/PleOps.Cake/pull/61) :arrow_up: Upgrade to Cake 3.0 and bump dependencies