<@ULVA73B9P> Are there any differences in supporte...
# marvin-in-the-wild
s
@Marvin Are there any differences in supported features when building deployments using either
prefect.yaml
or
.deploy()
in a github ci/cd?
m
There are some differences in supported features when building deployments using
prefect.yaml
and
.deploy()
. Here are the key points: 1. Consistency and Version Control: - prefect.yaml: Allows multiple deployment configurations within a single file, enabling better version control and the ability to manage several deployments cohesively. - .deploy(): Typically suited for simpler deployment tasks and might be less involved in large-scale, multi-deployment scenarios. 2. Dynamic Templating and Variables: - prefect.yaml: Supports dynamic templating where variables and block references are resolved, providing flexibility like using different configurations for different environments. - Example: Can't use environment variables directly in cron expressions in prefect.yaml (issue #11255). - .deploy(): Directly controlled through code, which might be more flexible in certain dynamic configurations and use of runtime variables. 3. Deployment Process Stages: - prefect.yaml: Divides the deployment process into distinct
build
,
push
, and
pull
sections. Each section can be separately managed and customized. - .deploy(): Handles deployment in a more simplified manner without the need for such explicit separation, often directly using API calls to register and manage deployments. For more detailed nuances and to better suit your CI/CD pipeline needs, you might want to refer to the official Prefect documentation: - prefect.yaml file: Prefect deploy with yaml - deploy() method: Using Prefect deploy method (URL needed from your documentation) Links to references from the issues and PRs: 1. Deployment mechanics explanations 2. Cannot set cron expression with env variables in prefect.yaml Choose the method that aligns more closely with your deployment complexity and CI/CD setup.