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

GitLab CI/CD脚本异常:address_list变量始终为空

解决GitLab CI中address_list为空的问题

排查方向与解决步骤

1. 捕获Python脚本的所有输出

如果create_address.py把内容输出到了标准错误(stderr),$()只会捕获标准输出(stdout),导致变量为空。修改命令同时捕获stderr:

address_list=$(python3 create_address.py "london" 2>&1)

同时在CI中直接执行脚本,查看是否有报错:

python3 create_address.py "london"
echo "脚本返回码: $?"

2. 确认CI工作目录与文件路径

本地运行的工作目录和GitLab Runner环境可能不一致,先打印当前目录并检查文件是否存在:

pwd
ls -la address/

若路径不符,改用项目根目录的绝对路径(GitLab CI提供CI_PROJECT_DIR变量):

cd "${CI_PROJECT_DIR}/address"

3. 校验Python环境与依赖

CI Runner的Python版本、依赖包可能和本地不一致,先检查版本并安装依赖:

python3 --version
# 若脚本有依赖,执行安装
pip3 install -r address/requirements.txt

4. 确保脚本有执行权限

如果create_address.py缺少执行权限,会导致无法正常运行,添加权限设置:

chmod +x address/create_address.py

5. 修正CI脚本的语法格式

GitLab CI中>符号会折叠换行,可能导致脚本执行异常,改用多行拆分写法:

script:
  - cd address
  - echo 'STARTING generate address'
  - address_list=$(python3 create_address.py "london" 2>&1)
  - echo 'END generate address SUITE '
  - echo "address_list $address_list"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:24:53