【问题标题】:DBT (Data Build Tools) - Create CI/CD pipeline in Azure DevOpsDBT(数据构建工具)- 在 Azure DevOps 中创建 CI/CD 管道
【发布时间】:2021-10-27 04:09:21
【问题描述】:

我正在开展一个项目,该项目使用 Fishtown Analytics 的 DBT 进行 ELT 处理。我正在尝试在 Azure DevOps 中创建一个 CI/CD 管道来自动化构建发布过程,但我无法找到合适的文档。代码已集成到 DevOps Repos 中,现在我需要一个参考来开始构建 CI/CD 管道。

【问题讨论】:

    标签: azure-devops azure-pipelines dbt cicd fishtown-analytics


    【解决方案1】:

    我们的团队使用 ADO 流水线,here’s our doc 了解我们是如何做到的!

    要使此示例正常运行,您需要 3 个以上的文件:

    1。 profiles.yml.

    如果您查看此文件,您将看到 dbt-jinja 的 env_var 宏的用法。这使您可以为您的数据库凭据创建 ADO 管道秘密变量,并使它们可用于 dbt。

    2。 step_template.yml

    此文件是部署到不同环境时使用的部署步骤的配方。 dbt CLI 的美妙之处在于,在以下情况下使用相同的步骤:

    • 进行我们的集成测试(看门人),并且
    • 部署到我们的生产和登台/UAT 环境。 所以这个step_template.yml 让每个管道重复使用相同的步骤。这里值得注意的是,因为我们正在使用AzureCLI@2 任务,因为它会为我们自动向 Azure 进行身份验证。如果您不使用 Azure,则需要:
    • 将用户名和密码的管道秘密添加到数据库,并
    • 使用Bash@3 任务

    3。 gatekeeper.ymlprod.yml

    这些是实际的管道。如果你看,它们是相同的,除了:

    • 变量它们部署到不同的数据库),以及
    • 触发器更改到哪个分支将触发此管道?
    • 时间表即使没有新的提交到分支,它是否应该运行?是的,如果是生产,因为我们希望数据为我们的用户保持最新。

    【讨论】:

    • 非常感谢您的帮助。你能帮我简要描述一下每个文件的含义吗,这些文件位于 ado_pipelines_example/build/ 下。
    • 刚刚添加了更多上下文!
    • 对于第一个错误,尝试将其中一个管道的触发器更改为*,以便它为每个分支上的每个提交运行?
    • 解决了第一个错误,但是在运行命令 -dbt debug --profiles-dir $(location) -- dbt_project.yml file [ERROR not found] 时仍然遇到问题。 dbt_project.yml 和profiles.yml 都出现在完全相同的位置
    • @user961 希望我能在这里提供更多帮助,但我唯一的建议是添加步骤以打印出您当前的工作目录和其中的文件。我敢打赌,这将帮助您调试
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-09
    • 2020-12-20
    • 2021-09-06
    • 2020-10-13
    • 2020-04-07
    • 2021-01-21
    相关资源
    最近更新 更多