{
  "schema_version": 2,
  "id": "integrate/redis-data-integration/reference/cli/redis-di-deploy",
  "title": "redis-di deploy",
  "url": "https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di-deploy/",
  "summary": "Deploys a pipeline with the specified configuration",
  "aliases": [
    "/integrate/redis-data-integration/ingest/reference/cli/redis-di-deploy/"
  ],
  "tags": [
    "redis-di"
  ],
  "last_updated": "2026-09-18T16:41:35+01:00",
  "page_type": "content",
  "content_hash": "bfc69ddd5510c702113f6abcd14f18851863ece6c4ea91b0d6c61f761d7aba32",
  "sections": [
    {
      "id": "overview",
      "title": "Overview",
      "role": "overview",
      "text": "Deploys a pipeline, creating it or updating it from the configuration in the `--dir` directory. The\nAPI validates the configuration and rejects an invalid one. By default, the command starts the\npipeline after deploying and waits for it to reach the expected state. `set` is an alias for this\ncommand.\n\nPass `--empty` instead of `--dir` to deploy an empty configuration, which clears the pipeline. See\n[Clear a pipeline](https://redis.io/docs/latest/integrate/redis-data-integration/data-pipelines/deploy#clear-a-pipeline) for\nwhat clearing a pipeline removes and what it keeps."
    },
    {
      "id": "usage",
      "title": "Usage",
      "role": "syntax",
      "text": "[code example]\n\nThe pipeline name is an optional argument that defaults to `default`."
    },
    {
      "id": "options",
      "title": "Options",
      "role": "parameters",
      "text": "| Option              | Description                                                                          |\n| :------------------ | :----------------------------------------------------------------------------------- |\n| `--dir`             | Directory containing the pipeline configuration (default `.`).                       |\n| `--empty`           | Deploy an empty configuration instead of loading one from a directory. Cannot be combined with `--dir`. |\n| `--dry-run`         | Validate the configuration without deploying.                                        |\n| `--validate-tables` | Validate the configuration against the source and target databases (default `true`). |\n| `--validate-cdc`    | Validate the CDC configuration of the source databases.                              |\n| `--start`           | Start the pipeline after deploying (default `true`, or `false` with `--empty`).      |\n| `--wait`            | Wait for the pipeline to reach the expected state (default `true`).                  |\n| `--timeout`         | Maximum time to wait for the pipeline to reach the expected state (default `2m`).    |\n\nThis command also accepts the\n[global options](https://redis.io/docs/latest/integrate/redis-data-integration/reference/cli/redis-di#global-options)."
    },
    {
      "id": "example",
      "title": "Example",
      "role": "example",
      "text": "[code example]"
    }
  ],
  "examples": [
    {
      "id": "usage-ex0",
      "language": "plaintext",
      "code": "redis-di deploy [pipeline] [flags]",
      "section_id": "usage"
    },
    {
      "id": "example-ex0",
      "language": "bash",
      "code": "# Deploy the configuration in the current directory\nredis-di deploy\n\n# Validate a configuration folder without deploying it\nredis-di deploy --dir /opt/rdi/config --dry-run\n\n# Clear the pipeline by deploying an empty configuration\nredis-di deploy --empty",
      "section_id": "example"
    }
  ]
}
