GAE + Github =无法实现Push-to-Deploy实际工作

时间:2014-09-06 12:05:50

标签: google-app-engine deployment github push

我试图让Push-to-Deploy通过GitHub设置作为代码回购源来使用GAE。

现在是第3天,我遇到了几个错误:

  • 创建发布管道失败的原因

  • 当我最终管理时获取错误500将源移至GAE

  • Github中的更改会传播到GAE(它们在源代码 - >浏览下可见),但是发布例程不会运行,并且(可以理解的是)应用程序未被提供在网址。

我尝试创建了几个新项目,并展示了上面各种版本的bug。

我现在在这里:

我创建了一个全新的项目,将Github设置为我的仓库,创建了一个Release Pipeline并在之后进行了推送(到Github),试图触发Deploy例程无济于事。代码树在源代码下可见 - >浏览,提交日期等,但发布管道不运行。

App ID是skillful-signer-695,选择的平台是php。

有什么想法吗?

更新

在我设置项目并执行测试提交以触发Release管道近24小时后,它终于被执行了!其结果标记为“成功”。

现在,如果我尝试点击项目的URL,我会得到:

Error 500 - The server encountered an error and could not complete your request.

任何帮助将不胜感激!

更新2:

通过查看日志我得到了更多信息:

A problem was encountered with the process that handled this request, causing it to exit. This is likely to cause a new process to be used for the next request to your application. (Error code 204)

也许我的(非常简单的)app.yaml出现了问题?

application: skillful-signer-695
version: 1
runtime: php
api_version: 1
threadsafe: false

handlers:
# Serve images as static resources.
- url: /(.+\.(gif|png|jpg))$
  static_files: \1
  upload: .+\.(gif|png|jpg)$
  application_readable: true

# Serve php scripts.
- url: /.*
  script: index.php

似乎很多不同的人都在经历同样的事情,它与app.yaml有关,但我无法弄清楚我做错了什么...上面几乎是从文档中的示例中粘贴。

2 个答案:

答案 0 :(得分:2)

我们终于能够让这个工作 - 事实证明网站的代码库存在一些问题,这导致了500错误(我想是你的代码点火器)。

此外,我们必须在app.yaml中添加一些行以显示css和字体。这就是我们最终得到的结果:

application: skillful-signer-695
version: 1
runtime: php
api_version: 1
threadsafe: false

handlers:
- url: /assets/(.*\.(css|js|ttf))$
  static_files: assets/\1
  upload: assets/.*\.(css|js|ttf)$

# Serve images as static resources.
- url: /(.+\.(gif|png|jpg))$
  static_files: \1
  upload: .+\.(gif|png|jpg)$
  application_readable: true

# Serve php scripts.
- url: /.*
  script: index.php

除了我们最后的问题,我相信我们遇到了几个GAE错误(来自GitHub的不一致的拉动时间,仪表板问题,不完整的文档等),这对于Beta软件来说是正常的,但仍然令人讨厌。谢谢你的帮助!

P.S。我们运行了其他一些东西,这可能会节省一些人的时间 - 如果你正在尝试使用套接字(例如,通过SMTP从GAE上托管的支持表单发送电子邮件,因为标准的PHP邮件命令没有'工作)您只有在输入结算信息后才会发现套接字已启用。他们并没有真正向你收取任何费用,但我认为Google认为这是一项高级功能。

一切顺利!

答案 1 :(得分:1)

我遇到Push 2 Not Deploy功能问题,因为 - 至少现在 - GAE无法解析git子模块。

如果你有 git 的子模块或忽略基本文件,你的应用程序将无法正常工作。

例如:我发送来自GAE的电子邮件,git通过login_data.py忽略了我的.gitignore

如果您使用appcfg.py update --oauth .,我们会发送您的login_data.py。在这种情况下使用push2deploy将会出现如下错误:

Error: Server Error

The server encountered an error and could not complete your request.
Please try again in 30 seconds.