【问题标题】:Google App Engine Source Not Updating PHPGoogle App Engine 源代码未更新 PHP
【发布时间】:2015-08-03 14:22:29
【问题描述】:

我无法更新我的服务器代码。我在 GAE 上运行一个 PHP 实例,无论我做什么,文件都不会更新。在源代码视图中,我可以看到文件已更新,但是当我尝试访问更新后的文件时,我仍在查看旧版本。我还尝试断开我的 Bitbucket 存储库并使用 appcfg.py update project-name 命令,但是当我尝试访问它们时文件没有刷新。我不确定如何强制更改发生。

我的 app.yaml 包含以下代码

- url: /(.+\.php)$
  script: \1
  secure: always

所以文件应该被读取,对吧?

【问题讨论】:

  • 您是否已经将 itcas 标记为默认版本?
  • 我没有更改 app.yaml 中的版本号(仍然是版本:1)。但是,当我将其更改为 version: 2 时,我仍然只能在我的 Compute->App Engine->Versions 中看到 Version 1。
  • appcfg 报告它已成功更新,还是给出任何警告/错误?
  • 我找出了问题所在并将其添加为解决方案。

标签: google-app-engine


【解决方案1】:

我能够弄清楚出了什么问题。我使用appcfg.py download_app -A <your_app_id> -V <your_app_version> <output-dir> 下载了我的代码,并注意到我正在下载旧版本的文件(而不是下载新文件)。原来在 GAE 中使用源代码控制会上传新代码,但不会部署它。我尝试再次使用appcfg.py update project-name,但没有成功。原来我没有断开我的 Bitbucket 帐户(可以发誓我这样做了......)。断开连接后,我可以使用appcfg.py update project-name 更新项目。在我弄清楚这一点时,我联系了 Google 支持并收到了这条消息:

要使用推送功能进行部署,您需要启动 Jenkins GCE(Google Compute Engine)上的实例,然后它将占用 更新代码并在环境中执行。通过[1]了解如何 根据启用 Jenkins 实例及其配置 不同的运行时间。

在您的问题中,您只是将代码从 Bit Bucket 镜像到 Cloud 存储库,因为它只是为 应用程序不执行应用程序。所以基本上你有 如上所述使用 Jenkins 实例的选项来测试 不同版本的代码或使用 appcfg.py 更新命令 来自您的本地存储库。

我没有尝试安装和使用 Jenkins,因为我在断开我的 Bitbucket 帐户后修复了它),但它可能会帮助遇到此问题的其他人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-08
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    相关资源
    最近更新 更多