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

如何解决Jenkins流水线CD阶段'script returned exit code 15'错误

解决Docker-Compose YAML语法错误(行229)及Exit Code 15问题

1. 定位并修复核心YAML语法问题

聚焦docker-compose.yml第229行,"mapping values are not allowed in this context"错误通常由以下场景导致:

  • 字符串中未转义特殊字符(如冒号:、感叹号!,需用双引号包裹含特殊字符的字符串)
  • 缩进不规范(YAML严格要求用空格缩进,禁止制表符,且层级必须对齐)
  • 键值对格式错误(键后的冒号必须紧跟空格,如key: value而非key:value)

示例错误与修正:

# 错误写法:含冒号的字符串未加引号
environment:
  DB_URI:postgres://user:pass@db:5432/dbname

# 正确写法
environment:
  DB_URI: "postgres://user:pass@db:5432/dbname"

直接检查仓库中对应行的代码,修正后重新触发流水线。

2. 验证YAML语法合法性

在本地或Jenkins节点使用yamllint工具做语法校验,能获取更详细的错误提示:

# 安装yamllint(Debian/Ubuntu环境)
sudo apt-get install yamllint
# 或通过pip安装
pip install yamllint

# 检查目标文件
yamllint docker-compose.yml

3. 排查Jenkins脚本中YAML文件的完整性

若本地验证YAML无问题,但Jenkins执行时出错,需检查Shell脚本中文件下载环节:

  • 确认curl/wget等下载命令未导致文件截断(可添加--fail参数确保下载完整)
  • 排查是否有后续脚本操作(如环境变量替换)篡改了YAML结构

可在Jenkins流水线中添加步骤,打印下载后的文件内容对比:

cat docker-compose.yml

4. 关于Exit Code 15

该退出码是docker-compose因YAML解析失败返回的标准错误码,修复YAML语法问题后,此错误会自动消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 10:15:09