Skip to main content

Deployments

A deployment is a container for assets, environment variables, compiler options, and other data related to a deployed serverless application.

Create a deployment

Compiler options

The compilerOptions key of the POST body sent with a deployment creation request can override the options usually configured here in deno.json. Compiler options will determine how your application's TypeScript code will be processed.

If null is provided, Deploy will attempt to discover a deno.json or deno.jsonc within the assets of your deployment (see Deployment assets below). If an empty object {} is provided, Deploy will use default TypeScript configuration.

Deployment assets

The assets associated with a deployment are the code and static files that drive the behavior of the deployment and handle incoming requests. In JSON body sent with a POST request to this endpoint, you will include an assets attribute that contains keys that represent the file path to a particular asset.

So for example - a file that would live in a deployment directory under server/main.ts would use that path as the key for the asset.

An asset has a kind attribute associated with it, which can be one of:

  • file - an actual file associated with the deployment
  • symlink - a symbolic link to another file in the deployment

File assets also have a content property, which as you might imagine, is the actual contents of the file. These assets also have an encoding property, which indicates whether the content is encoded as utf-8 (plain text) or base64 for base64 encoded content.

To prevent the need to re-upload files that very seldom change, you can also specify a gitSha1 attribute, which is a SHA-1 hash of the content that was previously uploaded for the specified asset.

Below is an example of assets that could be used to set up a deployment.

{
"assets": {
"main.ts": {
"kind": "file",
"content": "Deno.serve((req: Request) => new Response(\"Hello World\"));",
"encoding": "utf-8"
},
"images/cat1.png": {
"kind": "file",
"content": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNk",
"encoding": "base64"
},
"images/cat2.png": {
"kind": "file",
"gitSha1": "5c4f8729e5c30a91a890e24d7285e89f418c637b"
},
"symlink.png": {
"kind": "symlink",
"target": "images/cat1.png"
}
}
}

Get deployment details

Get deployment build logs

Get deployment app logs