Skip to content

Repository files navigation

Build on GitHub Ubuntu Latest AgentBuild on GitHub Windows 2019 AgentBuild on GitHub Windows 2022 AgentBuild on Self Hosted AgentDocker PullsDocker Stars

Cake docker images 🍰🐳

Cake official Docker files with .NET SDK and Cake global tool pre-installed.

Images

Images are currently continuously built for last 10 versions of Cake version 1.0 or newer. Currently based on official Microsoft images available ( mcr.microsoft.com/dotnet/sdk ).

To pin to a specific version suffix with Cake version i.e. cakebuild/cake:sdk-6.0 becomes cakebuild/cake:sdk-6.0-v1.3.0.

Tags are added dynamically as new are added to Microsoft container registry, check https://hub.docker.com/r/cakebuild/cake/tags for currently available tags.

Linux Images

ImageBased on
cakebuild/cakesdk:6.0mcr.microsoft.com/dotnet/sdk:6.0
cakebuild/cakesdk:6.0-alpinemcr.microsoft.com/dotnet/sdk:6.0-alpine
cakebuild/cakesdk:6.0-alpine3.14mcr.microsoft.com/dotnet/sdk:6.0-alpine3.14
cakebuild/cakesdk:6.0-alpine3.16mcr.microsoft.com/dotnet/sdk:6.0-alpine3.16
cakebuild/cakesdk:6.0-alpine3.17mcr.microsoft.com/dotnet/sdk:6.0-alpine3.17
cakebuild/cakesdk:6.0-alpine3.18mcr.microsoft.com/dotnet/sdk:6.0-alpine3.18
cakebuild/cakesdk:6.0-bookworm-slimmcr.microsoft.com/dotnet/sdk:6.0-bookworm-slim
cakebuild/cakesdk:6.0-bullseye-slimmcr.microsoft.com/dotnet/sdk:6.0-bullseye-slim
cakebuild/cakesdk:6.0-cbl-marinermcr.microsoft.com/dotnet/sdk:6.0-cbl-mariner
cakebuild/cakesdk:6.0-cbl-mariner1.0mcr.microsoft.com/dotnet/sdk:6.0-cbl-mariner1.0
cakebuild/cakesdk:6.0-cbl-mariner2.0mcr.microsoft.com/dotnet/sdk:6.0-cbl-mariner2.0
cakebuild/cakesdk:6.0-focalmcr.microsoft.com/dotnet/sdk:6.0-focal
cakebuild/cakesdk:6.0-jammymcr.microsoft.com/dotnet/sdk:6.0-jammy
cakebuild/cakesdk:7.0mcr.microsoft.com/dotnet/sdk:7.0
cakebuild/cakesdk:7.0-alpinemcr.microsoft.com/dotnet/sdk:7.0-alpine
cakebuild/cakesdk:7.0-alpine3.16mcr.microsoft.com/dotnet/sdk:7.0-alpine3.16
cakebuild/cakesdk:7.0-alpine3.17mcr.microsoft.com/dotnet/sdk:7.0-alpine3.17
cakebuild/cakesdk:7.0-alpine3.18mcr.microsoft.com/dotnet/sdk:7.0-alpine3.18
cakebuild/cakesdk:7.0-bookworm-slimmcr.microsoft.com/dotnet/sdk:7.0-bookworm-slim
cakebuild/cakesdk:7.0-bullseye-slimmcr.microsoft.com/dotnet/sdk:7.0-bullseye-slim
cakebuild/cakesdk:7.0-cbl-marinermcr.microsoft.com/dotnet/sdk:7.0-cbl-mariner
cakebuild/cakesdk:7.0-cbl-mariner2.0mcr.microsoft.com/dotnet/sdk:7.0-cbl-mariner2.0
cakebuild/cakesdk:7.0-jammymcr.microsoft.com/dotnet/sdk:7.0-jammy
cakebuild/cakesdk:8.0mcr.microsoft.com/dotnet/sdk:8.0
cakebuild/cakesdk:8.0-alpinemcr.microsoft.com/dotnet/sdk:8.0-alpine
cakebuild/cakesdk:8.0-alpine3.18mcr.microsoft.com/dotnet/sdk:8.0-alpine3.18
cakebuild/cakesdk:8.0-bookworm-slimmcr.microsoft.com/dotnet/sdk:8.0-bookworm-slim
cakebuild/cakesdk:8.0-cbl-marinermcr.microsoft.com/dotnet/sdk:8.0-cbl-mariner
cakebuild/cakesdk:8.0-cbl-mariner2.0mcr.microsoft.com/dotnet/sdk:8.0-cbl-mariner2.0
cakebuild/cakesdk:8.0-jammymcr.microsoft.com/dotnet/sdk:8.0-jammy

Windows Images

ImageBased on
cakebuild/cakesdk:6.0-nanoserver-1809mcr.microsoft.com/dotnet/sdk:6.0-nanoserver-1809
cakebuild/cakesdk:6.0-nanoserver-20H2mcr.microsoft.com/dotnet/sdk:6.0-nanoserver-20H2
cakebuild/cakesdk:6.0-nanoserver-ltsc2022mcr.microsoft.com/dotnet/sdk:6.0-nanoserver-ltsc2022
cakebuild/cakesdk:6.0-windowsservercore-ltsc2019mcr.microsoft.com/dotnet/sdk:6.0-windowsservercore-ltsc2019
cakebuild/cakesdk:6.0-windowsservercore-ltsc2022mcr.microsoft.com/dotnet/sdk:6.0-windowsservercore-ltsc2022
cakebuild/cakesdk:7.0-nanoserver-1809mcr.microsoft.com/dotnet/sdk:7.0-nanoserver-1809
cakebuild/cakesdk:7.0-nanoserver-ltsc2022mcr.microsoft.com/dotnet/sdk:7.0-nanoserver-ltsc2022
cakebuild/cakesdk:7.0-windowsservercore-ltsc2019mcr.microsoft.com/dotnet/sdk:7.0-windowsservercore-ltsc2019
cakebuild/cakesdk:7.0-windowsservercore-ltsc2022mcr.microsoft.com/dotnet/sdk:7.0-windowsservercore-ltsc2022
cakebuild/cakesdk:8.0-nanoserver-1809mcr.microsoft.com/dotnet/sdk:8.0-nanoserver-1809
cakebuild/cakesdk:8.0-nanoserver-ltsc2022mcr.microsoft.com/dotnet/sdk:8.0-nanoserver-ltsc2022
cakebuild/cakesdk:8.0-windowsservercore-ltsc2019mcr.microsoft.com/dotnet/sdk:8.0-windowsservercore-ltsc2019
cakebuild/cakesdk:8.0-windowsservercore-ltsc2022mcr.microsoft.com/dotnet/sdk:8.0-windowsservercore-ltsc2022

Example usage

Interactive container

docker run --rm -it cakebuild/cake:sdk-8.0 cake --version

Use as builder image

FROM cakebuild/cake:sdk-8.0-alpine-v4.0.0 AS builder
ADD . /src
RUN Cake /src/build.cake --Target=Publish
FROM mcr.microsoft.com/dotnet/aspnet:8.0
WORKDIR app
COPY --from=builder /src/output .
CMD ["dotnet","MyApp.dll"]

Environment variables

NameLinuxWindows
CAKE_PATHS_TOOLS/cake_build/toolsC:/cake_build/tools
CAKE_PATHS_ADDINS/cake_build/tools/AddinsC:/cake_build/tools/Addins
CAKE_PATHS_MODULES/cake_build/tools/ModulesC:/cake_build/tools/Modules

These are set to be able to keep foreign binaries inside your container and also enable caching of tools, addins and modules between docker layers.

Build Infrastructure

Containers are currently built using GitHub Actions.

Operating systems

Windows containers require OS support for specific versions of Windows to be built, so a matrix of Windows versions is used in orchestration using the same build script.

The build script will automatically detect if Docker is configured for building Windows or Linux containers.

But you can also pass parameters to filter to specific base images to build or exclude individual to not build.

Build script parameters

NameDescription
remove-base-imageRemove mcr base image after build, useful to conserve space used when building
base-image-include-filterBase image must start with this, can be specified multiple times to include multiple base images
base-image-exclude-filterBase image can't start with this, can be specified multiple times, to exclude multiple base images

About

🐳 🍰 Docker images with Cake tool pre-installed

Topics

Resources

Stars

22 stars

Watchers

9 watching

Forks

Releases

Sponsor this project

Packages

Used by

Contributors

Languages