Learn how to create deployments via the CLI, Python, or Terraform.
serve
serve
method creates a deployment from your flow and immediately begins listening for scheduled runs to execute.
Providing cron="* * * * *"
to .serve
associates a schedule with your flow so it will run every minute of every day.
deploy
flow.deploy
method.
Here’s an example of a deployment that uses a work pool and bakes the code into a Docker image.
deploy
method, see Deploy flows with Python.
prefect.yaml
file.
Prefect provides an interactive CLI that walks you through creating a prefect.yaml
file:
prefect.yaml
file for deployment creation.
The file contains build
, push
, and pull
steps for building a Docker image, pushing code to a Docker registry, and pulling code at runtime.
Learn more about creating deployments with a YAML file in Define deployments with YAML.
Prefect also provides CI/CD options for automatically creating YAML-based deployments.
serve
is sufficient for scheduling and orchestration.
The work pool / worker paradigm via .deploy()
or prefect deploy
can be great for complex infrastructure requirements and isolated flow run environments.
You are not locked into one method and can combine approaches as needed.