You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过GitLab CI/CD YAML文件导入Airflow变量至JSON文件

在GitLab CI/CD中导入Airflow变量的实现方案

前提准备

  • 在GitLab项目的Settings > CI/CD > Variables中配置Airflow访问凭据(设为保密变量避免泄露):
    • AIRFLOW_API_URL:Airflow实例的API根地址(示例:https://your-airflow-host.com/api/v1)
    • AIRFLOW_USER:具备变量导入权限的Airflow用户名
    • AIRFLOW_PASSWORD:对应用户密码
  • 准备Airflow变量JSON文件(示例命名为airflow_vars.json),放在项目根目录,格式如下:
{
  "DB_CONNECTION_STRING": "postgresql://user:pass@db-host:5432/data_db",
  "EXTERNAL_API_KEY": "your-secret-api-key"
}

方案1:基于Airflow CLI直接导入(适合已预装Airflow的Runner)

在.gitlab-ci.yml中添加如下Job:

import-airflow-variables:
  stage: deploy
  script:
    # 若Runner未预装Airflow,可添加安装命令(指定与你的Airflow实例匹配的版本)
    # pip install apache-airflow==2.8.0
    # 配置Airflow连接参数
    - export AIRFLOW__CORE__EXECUTOR=SequentialExecutor
    - export AIRFLOW__WEBSERVER__BASE_URL=$AIRFLOW_API_URL
    # Airflow 2.x需先获取API令牌
    - airflow users export-token --username $AIRFLOW_USER --password $AIRFLOW_PASSWORD > airflow_token.txt
    - export AIRFLOW_API_AUTH=$(cat airflow_token.txt)
    # 执行变量导入
    - airflow variables import airflow_vars.json
  only:
    - main # 按需指定触发分支

方案2:使用Airflow官方Docker镜像(无需在Runner预装Airflow)

若Runner支持Docker环境,直接用官方镜像执行命令更便捷:

import-airflow-variables:
  stage: deploy
  image: apache/airflow:2.8.0 # 指定与你的Airflow实例匹配的版本
  script:
    # 配置Airflow连接参数
    - export AIRFLOW__CORE__EXECUTOR=SequentialExecutor
    - export AIRFLOW__WEBSERVER__BASE_URL=$AIRFLOW_API_URL
    # 获取API令牌并导入变量
    - airflow users export-token --username $AIRFLOW_USER --password $AIRFLOW_PASSWORD > airflow_token.txt
    - export AIRFLOW_API_AUTH=$(cat airflow_token.txt)
    - airflow variables import airflow_vars.json
  only:
    - main

常见问题排查

  • 连接失败:检查AIRFLOW_API_URL是否正确,确认GitLab Runner网络可访问Airflow实例(如同一VPC、防火墙规则放行)
  • 权限错误:确保Airflow用户拥有Variables资源的编辑权限
  • JSON格式错误:用jq . airflow_vars.json命令验证文件语法,确保无格式问题

内容的提问来源于stack exchange,提问作者Rakesh Sabbani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 09:50:37