Skip to content

Commit

Permalink
📚 Improve READMEs
Browse files Browse the repository at this point in the history
  • Loading branch information
pleonex committed Nov 21, 2023
1 parent 9db3493 commit 1736d88
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 20 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
71 changes: 52 additions & 19 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,47 +1,80 @@
# PleOps Cake
# PleOps Cake ![logo](./images/logo_48.png)

<!-- markdownlint-disable MD033 -->
<p align="center">
<a href="https://www.nuget.org/packages/Cake.Frosting.PleOps.Recipe">
<img alt="Stable version" src="https://img.shields.io/nuget/v/Cake.Frosting.PleOps.Recipe?label=nuget.org&logo=nuget" />
</a>
&nbsp;
<a href="https://dev.azure.com/benito356/NetDevOpsTest/_packaging?_a=feed&feed=PleOps">
<img alt="GitHub commits since latest release (by SemVer)" src="https://img.shields.io/github/commits-since/pleonex/PleOps.Cake/latest?sort=semver" />
</a>
&nbsp;
<a href="https://github.com/pleonex/PleOps.Cake/workflows/Build%20and%20release">
<img alt="Build and release" src="https://github.com/pleonex/PleOps.Cake/workflows/Build%20and%20release/badge.svg?branch=main&event=push" />
</a>
&nbsp;
<a href="https://choosealicense.com/licenses/mit/">
<img alt="MIT License" src="https://img.shields.io/badge/license-MIT-blue.svg?style=flat" />
</a>
&nbsp;
</p>

Complete DevOps workflow and best-practices for .NET projects based on
[Cake](https://cakebuild.net/).

- ♻️ 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<Cake.Frosting.PleOps.Recipe.PleOpsBuildContext>()
.UseLifetime<BuildLifetime>()
.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).

0 comments on commit 1736d88

Please sign in to comment.