Google app engine 下载应用程序引擎源代码

Google app engine 下载应用程序引擎源代码,google-app-engine,Google App Engine,因此,从我看到的一些问题来看,这是其他用户的一个问题。最近我们的一位负责人离开了,我继承了他的很多项目。其中之一是一个网站,它似乎生活在谷歌云平台的应用引擎上。要从下载源代码,请使用appcfg.py download\u app命令。我做到了,但是我从那次电话中得到的唯一结果是: 获取文件列表… 获取文件… 然后就结束了。没有错误消息或任何类型的消息,当然,它也没有将源代码下载到我指定的输出目录中 搔着我的头,看着各种SO帖子,有人提到了一些关于直接进入谷歌云虚拟机并执行相同命令的事情,令我惊

因此,从我看到的一些问题来看,这是其他用户的一个问题。最近我们的一位负责人离开了,我继承了他的很多项目。其中之一是一个网站,它似乎生活在谷歌云平台的应用引擎上。要从下载源代码,请使用
appcfg.py download\u app
命令。我做到了,但是我从那次电话中得到的唯一结果是:

获取文件列表…

获取文件…

然后就结束了。没有错误消息或任何类型的消息,当然,它也没有将源代码下载到我指定的输出目录中

搔着我的头,看着各种SO帖子,有人提到了一些关于直接进入谷歌云虚拟机并执行相同命令的事情,令我惊讶的是,我发现了与我在本地终端上所做的完全相同的行为

这让我意识到这一定是其他原因在起作用。我在GCP上的应用程序引擎仪表板上查看了我的
版本
选项卡。我看到我的实例正在运行,它正确地显示了
服务
,如果我单击链接,它会将我带到加载良好的网站。然而,在
Size
下,它显示了
0b
,这让我想也许这就是为什么
download\u应用程序
没有下载任何东西,因为版本是0b

我想弄明白的是,为什么它说版本为0b,而网站运行良好,以及我如何获得此版本的源代码。这里有一个截图供参考

以及我的终端(本地)的屏幕截图。显然,我省略了-A和-V标志,但是它们设置正确,如果我故意使它们不正确,我确实会收到一条错误消息

编辑

为了让大家都知道,我还确保我的用户拥有正确的权限<代码>所有者
应用程序引擎所有者
。。。还有其他一些。我认为这不是问题所在

在中,您可以选择相应的项目并选中:

  • 在“服务”页面上(哪些服务,又称模块),正如它们过去(现在)在不同的地方被调用一样,您的应用程序已经部署
  • 在“版本”页面上-为每个服务部署了哪些版本
此信息是
appcfg.py下载\u app
所期望的。另见:

  • 各种
    appcfg.py
    选项使用其
    --help
    标志
您还可以实时访问已部署的源代码(如果其他所有操作都失败,它仍然可能是获取代码的最后一种方法,但很乏味),请参阅我的答案

更新:

我刚才在你的截图中注意到它是一个灵活的环境应用程序。
appcfg.py
文档位于standard environment部分,我怀疑它不适用于灵活的环境,为此部署的实际上是部署操作期间构建的docker映像。发件人:

使用将应用部署到应用引擎 指挥部。此命令通过使用自动生成容器映像 服务,然后将该映像部署到 应用引擎灵活的环境。容器将包括任何本地 对运行时映像所做的修改


通过连接到正在运行的实例并在应用程序容器中启动shell,可以访问运行应用程序的实际GCE实例上的代码,请参见

部署应用程序引擎灵活应用程序时,源代码将上载到名为
staging..appspot.com
的存储桶中的项目云存储中。您可以在这个bucket中导航,并将特定版本的源代码作为.tar文件下载

或者,您可以通过转到开发控制台>容器注册表>构建历史记录,找到源代码的确切云存储URL,并为您的版本选择构建。您将在“构建信息”下找到指向源代码的链接

但是需要注意的一点是,舞台。。。默认情况下,bucket是使用生命周期规则创建的,该规则会自动删除超过15天的文件。如果需要,可以删除此规则,以便无限期保留所有版本的源代码


在您的情况下,我认为这可能没有帮助,因为文件可能已经被删除,但值得知道的是,您可以从那里获得源代码(默认情况下,源代码不会推送到源存储库,您的开发人员必须手动配置).

您是否按照这些说明将项目ID和版本ID以及输出路径作为参数包含到
下载应用程序中?是的,如果我没有/故意弄乱它们,那么我会收到一条错误消息。这里有有趣的评论:-你确定你要找的应用程序实际上是在GAE中部署的吗?确实很有趣,不确定哪个模块与思想相关:从文档中看,我认为模块不是很重要。它说提供一个projectId和一个版本号(默认情况下,它将选择一个活动的版本)。我认为还有其他的东西在起作用,但是我能够在源代码管理中找到源代码,但是我非常感谢您的帮助,我只是不认为这是解决方案,我已经尝试过了。