(背景:我是Google App Engine的新手,熟悉其他云提供商和服务)
我正在寻找类似于shell访问生产节点的访问/视图。
使用基于Python / Django的Google App Engine应用程序,我想查看生产中的代码。
我能找到的一个视图是StackDriver' Debug'视图。 但是,显然Debug视图中显示的代码并不反映更新的生产代码(基于生产站点上显示的内容,例如,主页上的文本不同)。
Google App Engine是否允许我进入运行应用程序/代码的VM? 如果没有,如何检查在生产中运行的代码?
感谢。
答案 0 :(得分:3)
根据Comparing environments表中的SSH debugging
行,flex环境应用支持SSH访问,但标准环境应用不支持。
如果VM实例处于调试模式,您可以通过以下方式连接到其主机 在控制台中使用SSH或使用
gcloud
。连接到控制台中的实例:
访问项目的Cloud Platform Console实例页面: Go to the instances page
点击包含您要访问的实例的行最右侧的 SSH :
这会将实例置于调试模式,并在终端窗口中打开实例的SSH会话。
您还可以从下拉列表中选择不同的选项来启动SSH会话。
此时您处于实例主机中,其中运行了多个containers。有关这些内容的详情,请参阅下面的Understanding common containers。
在终端窗口中,列出实例中运行的容器:
sudo docker ps
sudo docker ps
命令的输出按行列出每个容器;找到包含项目ID的行:这是 运行代码的容器。请注意此容器的名称。(可选)通过调用以下内容列出应用程序的日志记录信息:
sudo docker logs [CONTAINER-NAME]
在运行代码的容器中启动shell:
container_exec [CONTAINER-NAME] /bin/bash
完成调试后,输入exit退出容器,然后再次退出以退出SSH会话。
- 醇>
禁用实例的调试,以使其恢复正常运行。
答案 1 :(得分:1)
如果您使用的是标准环境,答案是否定的,您无法直接检查或查看代码。您已经提到通过Stackdriver Debugger查看它,这是查看它的一种表示方式。
听起来如果您有理由查看代码,那么组织中的某个人应该授予您对源代码管理系统的适当访问级别。我想象一下,如果您的部署实践已经成熟,那么他们可能会将代码分支以映射到您部署的版本,您可以在本地进行详细检查。