Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
57 changes: 37 additions & 20 deletions docs/cli/commands/cli-command-reference/deployment/plan.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,16 @@


```shell
beam deployment plan [options]
```
## About
Plan a deployment for later release
## Options
|Name|Type|Description|
|-|-|-|
```

## About
Plan a deployment for later release



## Options

|Name|Type|Description|
|-|-|-|
|--comment|String|Associates this comment along with the published Manifest. You'll be able to read it via the Beamable Portal|
|--service-comments|String[]|Any number of strings in the format BeamoId::Comment<br>Associates each comment to the given Beamo Id if it's among the published services. You'll be able to read it via the Beamable Portal|
|--from-manifest|String|A manifest json file to use to create a plan|
Expand Down Expand Up @@ -49,10 +47,29 @@ Plan a deployment for later release
|--dotnet-path|String|a custom location for dotnet|
|--version|Boolean|Show version information|
|--help|Boolean|Show help and usage information|



### Parent Command
[deployment](./deployment.md)



## Container Base Images

When building Docker images during deployment, the CLI automatically selects the appropriate base image tag by combining the .NET version from your service's `TargetFramework` with a container family.

You can control the container base image by setting the `ContainerFamily` MSBuild property in your service's `.csproj` file:

```xml
<PropertyGroup>
<ContainerFamily>noble</ContainerFamily>
</PropertyGroup>
```

### Supported Container Families

- **alpine** (default): Uses Alpine Linux base images (e.g., `mcr.microsoft.com/dotnet/runtime:8.0-alpine`)
- **noble**: Uses Ubuntu 24.04 LTS base images (e.g., `mcr.microsoft.com/dotnet/runtime:8.0-noble`)

The CLI extracts the .NET version from your `TargetFramework` property and combines it with the `ContainerFamily` to form the final base image tag. For example:
- `<TargetFramework>net8.0</TargetFramework>` + `<ContainerFamily>noble</ContainerFamily>` → `8.0-noble`
- `<TargetFramework>net10.0</TargetFramework>` with no `ContainerFamily` → `10.0-alpine`

This is particularly useful when your Dockerfile requires tools or libraries that are available in Ubuntu but not in Alpine Linux, such as `apt-get` package management.

### Parent Command
[deployment](./deployment.md)