checkly deploy command deploys all your checks and associated resources like alert channels to your Checkly account. This command synchronizes your local monitoring-as-code configuration with your Checkly account.
Prerequisites
Prerequisites
Before using , ensure you have:
- An initialized Checkly CLI project
- At least one check or resource defined in your project
- Valid Checkly account authentication (run
npx checkly loginif needed) - A
checkly.config.tsorcheckly.config.jsconfiguration file
Usage
The basic command deploys all resources to your Checkly account, synchronizing your local monitoring-as-code configuration with the Checkly monitoring infrastructure.Terminal
| Option | Required | Description |
|---|---|---|
--config, -c | - | The Checkly CLI configuration file. If not passed, uses the checkly.config.ts|js file in the current directory. |
--force, -f | - | Force mode. Skips the confirmation dialog. |
--debug-bundle | - | Generate a JSON file containing the data sent to our servers when you deploy. Note: This flag is in beta. The bundle’s structure is not considered a stable format and may change without notice. It’s intended for one-off troubleshooting, and note it may contain secrets before sharing. |
--output, -o | - | Show the changes made after the deploy command. |
--preview, -p | - | Show a preview of the changes made by the deploy command. |
--preserve-resources | - | Detach resources removed from code (keeping them and their run history) instead of deleting them. |
--[no-]schedule-on-deploy | - | Enables automatic check scheduling after a deploy. |
--[no-]verify-runtime-dependencies | - | Return an error if checks import dependencies that are not supported by the selected runtime. |
Command Options
Specify a configuration file to use instead of the
checkly.config.ts or checkly.config.js in the current directory.Usage:Terminal
Skip the interactive confirmation dialog and proceed with the operation.Use Examples
--force to set up automated CI/CD pipelines testing preview environments and deploying monitoring changes automatically.Usage:Terminal
Terminal
Show applied differences after deploying, providing a summary of what was changed.Usage:Examples:
Terminal
Terminal
Show a preview of the changes that would be made by the deploy command.Usage:Examples
Terminal
Terminal
When a resource is removed from your code, In the deploy output, detached resources are listed under a
checkly deploy deletes it from your account by default, which also permanently deletes its run history. Pass --preserve-resources to detach those resources instead: the project stops managing them, but the resources and their run history remain in your Checkly account as regular account-level resources. Detached resources can be re-attached later by adding them back to your code.This mirrors checkly destroy --preserve-resources, but applies per-deploy to only the resources removed in that deploy rather than the whole project.Usage:Terminal
Detached (kept in account, now managed in the Checkly Webapp): section instead of Delete:.Prevent checks from running automatically when they are deployed.Usage:Useful when you want to deploy changes but delay monitoring execution until later.
Terminal
Return an error if checks import dependencies that are not supported by the selected runtime.Usage:Runtime-dependent checks run in a specific runtime with a pre-defined set of dependencies. If you’re using private locations and want to provide your own dependencies, disable the built-in dependency validation.
Terminal
Deleting vs. detaching removed resources
When you remove a resource from your code and deploy, the CLI reconciles your account with your local configuration. By default, resources that no longer exist in code are deleted from your account, which also permanently deletes their run history. Before performing any deletes, a non-forcedcheckly deploy first lists the resources that would be permanently deleted and asks you to confirm:
Terminal
--force (for CI/CD), and it does not appear when you pass --preserve-resources. In agent or CI environments the CLI instead returns a confirmation_required JSON envelope and exits with code 2 rather than prompting.
To keep removed resources and their run history, deploy with --preserve-resources. Instead of deleting them, the CLI detaches them — they remain in your Checkly account as regular account-level resources, managed from the UI, and can be re-attached later by adding them back to your code:
Terminal
Detach-on-deploy requires a recent Checkly backend. Against older backends,
--preserve-resources still keeps your resources, but they may be reported under Delete: rather than Detach: in the deploy output.Git Integration
When you deploy a project, you can attach Git-specific information so changes to any resources are displayed in the Checkly web UI with the correct commit, branch, and author information. The Checkly CLI evaluates Git information from your local or CI environment on a best effort basis. Override any automatically detected values by setting the corresponding environment variables.| Item | Auto | Variable | Description |
|---|---|---|---|
| Repository | false | repoUrl in checkly.config.ts or CHECKLY_REPO_URL | The URL of your repo on GitHub, GitLab etc. |
| Commit hash | true | CHECKLY_REPO_SHA | The SHA of the commit. |
| Branch | true | CHECKLY_REPO_BRANCH | The branch name. |
| Commit owner | true | CHECKLY_REPO_COMMIT_OWNER | The committer’s name or email. |
| Commit message | true | CHECKLY_REPO_COMMIT_MESSAGE | The commit message. |
| Environment | false | CHECKLY_TEST_ENVIRONMENT | The environment name, e.g. “staging” |
Related Commands
checkly login- Log in to your Checkly accountcheckly test- Test your setup before deployment