我们正在简化气流代码库的构建/部署管道。
是否有人在使用CI / CD工具进行Apache气流构建和部署管道方面有经验?
如何在不同的环境(例如测试,登台,生产等)中部署包括DAG /插件/操作员在内的气流代码库
如何在每个环境中管理airflow.cfg配置?
您在哪里管理每种环境的配置。
答案 0 :(得分:2)
我们将所有代码构建到一个Docker映像(DAG,插件,不同的Python软件包,不同的import React from "react";
import ReactDOM from "react-dom";
import { text1, text2 } from "./exported.js";
import sample from "./sample.js";
import "./styles.css";
文件等)中,并将其推送到我们的Kubernetes集群中。相同的映像随处可见,以确保依赖关系保持锁定状态,并且每个Airflow都针对其用例进行了最佳配置(我们在Kubernetes集群上运行多个Airflow实例)。
就CI / CD而言,由于我们的部署几乎只是docker push,因此我们使用CircleCI时没有任何问题。
对于管理环境,我们将尝试在Airflows中保持相同名称的连接(例如airflow.cfg
),但使用不同的凭据(dev Redshift与prod Redshift)。我认为应该有更优雅的解决方案,但是到目前为止,对我们而言这是可行的。