# Deploy modules

> Deploy one or more Cloud Code modules from compiled .ccm files.

To deploy one or more Cloud Code modules, use the [Deploy] command referencing one or more .ccm files.

## Compressing to a .ccm file

The archive can only contain the packaged assemblies to run on x64 Linux and compiled as ReadyToRun (R2R). To produce assemblies in this format, use the [.NET CLI]'s `dotnet publish` command.

```sh
dotnet publish -c Release -r linux-x64 -p:PublishReadyToRun=true
```

After producing these assemblies, compress them in an archive and set the extension to .ccm. The structure of the .ccm archive should look like this:

```text
MyModule.ccm
├─ MyModule.dll
├─ MyModule.deps.json
├─ Dependency1.dll
├─ Dependency2.dll
└─ ...
```

**Note:** The archive must be a ZIP format with its extension changed to .ccm.

## Storage limits

* The size of the .ccm file cannot exceed 10 MB.
* A \[UGS project] has a limit of 20 modules and combined size of 128 MB across all environments.

## Useful links

* [Cloud Code](/cloud-code.md)

[Deploy]: ../../../general/base-commands/deploy

[.NET CLI]: https://learn.microsoft.com/en-us/dotnet/core/tools/
