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

Bitbucket流水线Git FTP返回552错误但存储空间充足求解

Bitbucket流水线dev分支FTP 552错误解决方案

你当前提供的Bitbucket流水线配置语法没有问题,FTP 552错误本质是FTP服务端拒绝存储文件,在已排除登录凭证、账号全局存储配额的前提下,可按以下步骤排查修复:

  • 检查FTP服务器单文件大小限制:部分CPanel服务商或FTP服务会默认限制单个文件最大上传大小,即使账号总存储不限,超过阈值也会返回552。可先排查待上传文件中是否有超过默认阈值(通常为100M/200M)的大文件,确认后可在CPanel的「选择PHP版本-选项」中修改upload_max_filesize、post_max_size配置,或联系服务商调整FTP全局参数。
  • 检查目标路径权限与目录配额:确认$FTP_URL对应的服务器目录,已给FTP账号开放写入/修改权限;部分CPanel会对单个目录单独设置存储配额,并非账号全局不限就所有目录都可用,可在CPanel的「FTP账户-目录配额」中查看对应路径的配额配置。
  • 修复git-ftp缓存不一致问题:如果之前流水线有过中断传输的情况,git-ftp本地记录的已上传文件哈希和服务器实际文件不匹配,也会触发上传异常。可调整dev分支的脚本配置,添加强制同步参数:
    dev:
      - step:
          script:
            - apt-get update
            - apt-get -qq install git-ftp
            # 首次修复可加init命令,执行成功后可删除
            - git ftp init -u $FTP_USERNAME -p $FTP_PASSWORD -v $FTP_URL || true
            - git ftp push --force -u $FTP_USERNAME -p $FTP_PASSWORD -v $FTP_URL
    
  • 调整FTP传输模式:默认git-ftp使用被动模式传输,如果FTP服务器的被动端口范围没有在服务器防火墙/CPanel安全组放行,也会出现传输中途返回552的情况。可在git-ftp命令中添加--disable-epsv参数禁用EPSV模式:
    命令示例:git ftp push --disable-epsv -u $FTP_USERNAME -p $FTP_PASSWORD -v $FTP_URL
  • 排查特殊文件名问题:确认待上传文件中是否有包含中文、特殊符号(*、?、空格、非UTF-8编码字符)的文件名,部分老旧FTP服务无法识别这类文件名,会返回存储失败的552错误,可在.gitignore中排除这类文件后再测试上传。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:06:01