diff --git a/README.md b/README.md index cec05af..965169d 100644 --- a/README.md +++ b/README.md @@ -74,7 +74,7 @@ public sealed class DefaultTask : FrostingTask > [!TIP] > Find a detailed setup guide in the -> [documentation site](<[docs/articles/getting-started/tutorial.md](https://www.pleonex.dev/PleOps.Cake/docs/getting-started/tutorial.html)>). +> [documentation site](https://www.pleonex.dev/PleOps.Cake/docs/getting-started/tutorial.html). ### Preview releases diff --git a/docs/index.md b/docs/index.md index d667fa3..a92368b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,24 @@ -# PleOps Cake +# PleOps Cake ![logo](./images/logo_48.png) + + +

+ + Stable version + +   + + GitHub commits since latest release (by SemVer) + +   + + Build and release + +   + + MIT License + +   +

Complete DevOps workflow and best-practices for .NET projects based on [Cake](https://cakebuild.net/). @@ -6,42 +26,55 @@ Complete DevOps workflow and best-practices for .NET projects based on - ♻️ DevOps best practices for a software project - 🔧 Build, test and release tasks for .NET projects and documentation sites - 📚 Documentation explaining the workflow -- [Template repository](https://github.com/pleonex/template-csharp) ready to use +- 📋 [Template repository](https://github.com/pleonex/template-csharp) ready to + use ## Tech stack -- Projects: C# / .NET -- Documentation: DocFX, GitHub page -- CI: GitHub Actions -- Release deployment: NuGet feeds, GitHub +- **Projects**: C# / .NET +- **Documentation**: DocFX, GitHub page +- **CI**: GitHub Actions +- **Release deployment**: NuGet feeds, GitHub ## Usage The project ships a NuGet library with [Cake Frosting](https://cakebuild.net/) -tasks: **`Cake.Frosting.PleOps.Recipe`**. +tasks: + +- `Cake.Frosting.PleOps.Recipe`: + ![Package in NuGet](https://img.shields.io/nuget/v/Cake.Frosting.PleOps.Recipe?label=nuget.org&logo=nuget) To use it, create a new console application with the [_Cake Frosting_ template](https://cakebuild.net/docs/getting-started/setting-up-a-new-frosting-project), add a reference to this recipe NuGet and its tasks will be available to use. -**More information in the -[setup guide](./articles/getting-started/tutorial.md).** +```cs +return new CakeHost() + .AddAssembly(typeof(Cake.Frosting.PleOps.Recipe.PleOpsBuildContext).Assembly) + .UseContext() + .UseLifetime() + .Run(args); -## Quick demo +[TaskName("Default")] +[IsDependentOn(typeof(Cake.Frosting.PleOps.Recipe.Common.SetGitVersionTask))] +[IsDependentOn(typeof(Cake.Frosting.PleOps.Recipe.Common.CleanArtifactsTask))] +[IsDependentOn(typeof(Cake.Frosting.PleOps.Recipe.Dotnet.DotnetTasks.BuildProjectTask))] +public sealed class DefaultTask : FrostingTask +{ +} +``` -You can check this workflow from the -[template repository](https://github.com/pleonex/template-csharp). Just clone / -download it and run its build system: +Then just run the project to start the build system: ```bash -# Build and run tests (with code coverage!) dotnet run --project build/orchestrator - -# Create bundles (nuget, zips, docs) -dotnet run --project build/orchestrator -- --target=Bundle ``` -Commits will trigger a new continuous integration build with a similar output as -this: +Pushing commits will trigger a new continuous integration build with a similar +output as this: ![ci-output](./articles/getting-started/images/github-actions-summary.png) + +> [!TIP] +> Find a detailed setup guide in the +> [documentation site](articles/getting-started/tutorial.md).