如何覆盖特定目标中所有任务的任务设置,而不必通过其任务键单独命名每个任务?
我知道我可以执行以下操作来覆盖我的
libraries
目标中的 特定任务的 dev
设置。但我需要(重复地)列出工作中的每一项任务,这可能会很长。
有没有办法覆盖我的目标中所有任务的
libraries
设置? task_key
的通配符运算符不起作用/似乎没有实现。
targets:
dev:
mode: development
workspace:
host: https://xxx-xxxxxx.x.azuredatabricks.net
resources:
jobs:
my_job_name:
tasks:
- task_key: ingestion
libraries:
- whl: ./dist/*.whl
- pypi:
package: some-package==${var.some_package_version}
repo: https://pkgs.dev.azure.com/stihl/xxxx/_packaging/xxx/pypi/simple/
- task_key: preparation
libraries:
- whl: ./dist/*.whl
- pypi:
package: some-package==${var.some_package_version}
repo: https://pkgs.dev.azure.com/stihl/xxxx/_packaging/xxx/pypi/simple/
我能够通过 yaml 锚定来实现这一目标。感觉有点笨拙,但似乎有效并减少了样板文件。
我将只在此处的答案中保留 yaml 的重要部分。重要的部分是
libs
属性,以及如何在 task_key
下引用它。
---
# deployment.yml
---
resources:
jobs:
example-dab-workflow:
libs: &libs
libraries:
- pypi:
package: llama-index==0.10.43
- pypi:
package: pytest==8.3.2
- pypi:
package: transformers==4.41.1
- whl: ../dist/*.whl
name: "example-dab"
tasks:
- task_key: example_task
existing_cluster_id: abc1234-foo999-barre
python_wheel_task:
package_name: example_dab
entry_point: "example_entrypoint"
<<: *libs