airflow-code-editor 是一款提供了airflow在线编辑dag功能的插件。
该插件实现了airflow上dag的网页端编辑和管理,管理过程通过git实现。

1. 安装配置

1.1 安装

  • 安装ariflwo-code-editor

    1. pip install airflow-code-editor
  • 安装代码格式化工具(可选)

    pip install black
    
  • 重启webserver

    ps -ef | grep webserver
    kill ${webserver-pid}
    airflow webserver -D
    
  • Admin -> DAGs Code Editor

1.2 配置

[code_editor]
git_cmd = /usr/bin/git
git_default_args = -c color.ui=true
git_init_repo = True
root_directory = /root/airflow/dags
line_length = 88
string_normalization = False
mount_name = data
mount_path = /home/airflow/data
mount1_name = logs
mount1_path = /home/airflow/logs

2. 使用

1. 本地dags路径git仓库化

  • 手动init,或者在airflow.cfg中将git_init_repo 设置为True , 可以在启动的时候自动仓库化

2. 功能介绍

  • 启动

image-20210315084607244.png

  • 编辑界面
    • 初始界面

image-20210315084654944.png

  • 点击任意文件后进入编辑界面

image-20210315084731036.png

  - 可以直接在编辑框中进行编辑
  - `Format code`功能可以对代码通过`black`进行格式化
  - `setting` 中可以配置编辑器风格,包括主题和编辑风格(emacs,sublime,vim) ![image-20210315084922436.png](https://cdn.nlark.com/yuque/0/2021/png/1185682/1615779365239-6dd7eb78-f275-4e53-ae67-2ce2ddf68259.png#align=left&display=inline&height=234&margin=%5Bobject%20Object%5D&name=image-20210315084922436.png&originHeight=234&originWidth=757&size=13121&status=done&style=none&width=757)
  • Git管理界面

image-20210315085227753.png

  • 历史管理

image-20210315085421801.png

  • 远程仓库交互
    • 本地docker镜像未暴漏git端口,暂时未测试

3. 使用

  1. 进入airflow-code-editor
  2. 编辑指定文件
  3. 通过save 进行保存修改
  4. 经过修改的dag及时生效
  5. 通过git保存修改

3. 未竟事项

  1. 本地开发分支的构建和merge请求的发起
  2. 远程git仓库的交互
  3. 多人协同开发的冲突处理
  4. 开发过程中的错误提示
  5. web端开发和本地开发的Git协同