坑一:上传代码后系统未察觉,无法快捷发布

其实这个不能算是 BAE 的坑,应该是自己用 git 提交代码的时候不细心,没有发现其实没有提交成功。真实情况是这样的,用 git 提交的时候 git
刷新了以下信息:

  1. Counting objects: 1300, done.
  2. Compressing objects: 100% (1277/1277), done.
  3. error: RPC failed; result=22, HTTP code = 411
  4. fatal: The remote end hung up unexpectedly
  5. Writing objects: 100% (1300/1300), 6.40 MiB | 6.13 MiB/s, done.
  6. Total 1300 (delta 111), reused 0 (delta 0)
  7. fatal: The remote end hung up unexpectedly
  8. Everything up-to-date

然后因为我习惯了 java 的出错会打印堆栈信息以及 python 的出错会提示位置,所以看到这么工整的输出没想到会出错。当我第 N
次回来细看的时候才发现,原来倒数第二句是失败的:

  1. fatal: The remote end hung up unexpectedly

悲剧,然后我百度了一下,原来是 git 的缓存大小不够,怎么改?执行以下语句即可解决这个问题:

  1. git config http.postBuffer 524288000

坑2:bae 无法发布

这个坑其实是这样的,我修改了代码,然后上传到BAE上,然后 BAE
上已经刷新了版本了,提示我可以快捷发布了,我就点了快捷发布,然后,突然就显示了一个发布失败的文字,然后再一会就一直卡在发布中了。然后就没有然后了,只能提交工单联系客服。

客服也没有什么想法,然后也晚上11点了,所以客服就说明天早上处理吧,结果就第二天早上处理。第二天早上状态还是发布中,说明卡了一晚上了,客服就手动将状态调整为发布失败了,然后我为了回答客服的问题,所以在linux
上down了我的代码,然后,我就发现了问题的所在了。

当我用 vim 打开 app.conf 的时候,我发现我 app.conf 文件里面的 “—“符号居然占了两格,这明显是中文字符的标志嘛,然后我就在
linux 下对这个文件进行了修改,然后提交,再次发布,成功。

这里有两点地方需要总结的:

  1. bae 的发布系统不够完善,发布失败之后就停留在发布失败的场景里了,像我的就一直卡在发布中,其实这时已经失败了。我不知道在哪里看发布日志,但是,直到我解决问题之后很久我才发现原来在消息里面你可以看到你发布失败的原因。

  2. bae 的客服还是很给力的,我提交一个工单之后,那时已经晚上 11 点多了,没一会就打电话过来询问问题了。在问题解决之后,人家还特地再打一次电话过来咨询解决的方法,值得肯定。