在生产中访问Google App Engine Python应用程序代码

时间:2016-12-21 00:05:12

标签: google-app-engine google-app-engine-python

(背景:我是Google App Engine的新手,熟悉其他云提供商和服务)

我正在寻找类似于shell访问生产节点的访问/视图。

使用基于Python / Django的Google App Engine应用程序,我想查看生产中的代码。

我能找到的一个视图是StackDriver' Debug'视图。 但是,显然Debug视图中显示的代码并不反映更新的生产代码(基于生产站点上显示的内容,例如,主页上的文本不同)。

Google App Engine是否允许我进入运行应用程序/代码的VM? 如果没有,如何检查在生产中运行的代码?

感谢。

2 个答案:

答案 0 :(得分:3)

根据Comparing environments表中的SSH debugging行,flex环境应用支持SSH访问,但标准环境应用不支持。

来自Connecting to the instance

  

如果VM实例处于调试模式,您可以通过以下方式连接到其主机   在控制台中使用SSH或使用gcloud

     

连接到控制台中的实例:

     
      
  1. 访问项目的Cloud Platform Console实例页面:    Go to the instances page

  2.   
  3. 点击包含您要访问的实例的行最右侧的 SSH

         

    这会将实例置于调试模式,并在终端窗口中打开实例的SSH会话。

         

    您还可以从下拉列表中选择不同的选项来启动SSH会话。

  4.   
  5. 此时您处于实例主机中,其中运行了多个containers。有关这些内容的详情,请参阅下面的Understanding common containers

  6.   
  7. 在终端窗口中,列出实例中运行的容器:

    sudo docker ps
    
  8.   
  9. sudo docker ps命令的输出按行列出每个容器;找到包含项目ID的行:这是   运行代码的容器。请注意此容器的名称。

  10.   
  11. (可选)通过调用以下内容列出应用程序的日志记录信息:

    sudo docker logs [CONTAINER-NAME]
    
  12.   
  13. 在运行代码的容器中启动shell:

    container_exec [CONTAINER-NAME] /bin/bash
    
  14.   
  15. 完成调试后,输入exit退出容器,然后再次退出以退出SSH会话。

  16.   
  17. 禁用实例的调试,以使其恢复正常运行。

  18.   

答案 1 :(得分:1)

如果您使用的是标准环境,答案是否定的,您无法直接检查或查看代码。您已经提到通过Stackdriver Debugger查看它,这是查看它的一种表示方式。

听起来如果您有理由查看代码,那么组织中的某个人应该授予您对源代码管理系统的适当访问级别。我想象一下,如果您的部署实践已经成熟,那么他们可能会将代码分支以映射到您部署的版本,您可以在本地进行详细检查。