DBT(数据构建工具)- 在 Azure DevOps 中创建 CI/CD 管道

DBT (Data Build Tools) - Create CI/CD pipeline in Azure DevOps

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

我们的团队使用 ADO 管道,here’s our doc 我们是如何做到的!

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

1。 profiles.yml.

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

2。 step_template.yml

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

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

3。 gatekeeper.yml and prod.yml

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

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