【问题标题】:Where are source files stored on Google Cloud Platform when deployed from local machine从本地计算机部署时,源文件存储在 Google Cloud Platform 的什么位置
【发布时间】:2017-01-14 02:59:15
【问题描述】:
我刚刚从 IntelliJ IDEA 在 Google Cloud Platform 上部署了基本的 NodeJS express 应用程序。但是我找不到和浏览源文件。我在“开发”选项卡、“应用引擎”选项卡中进行了搜索,它显示了项目,但没有显示实际文件。我可以从我的浏览器访问该应用程序,它运行良好。我可以看到活动并请求进入应用程序的所有内容,但我看不到源文件。我尝试在终端 Google Cloud Console 中搜索它们,但我也无法在其中找到文件。这很令人费解,因为我不知道文件是从哪里提供的。
【问题讨论】:
标签:
node.js
linux
google-app-engine
express
terminal
【解决方案1】:
AFAIK 无法直接在开发者控制台中查看实时应用代码/静态内容(至少目前还不行),即使是标准环境应用也不行。
对于使用灵活环境的应用(包括 node.js 应用),访问实时应用源代码可能会更加复杂,因为在 GAE 上实际执行的是容器映像/docker 文件(与普通应用代码源文件不同)来自标准环境应用程序)。来自Deploying your program:
使用gcloud app deploy 命令部署您的应用。这个命令
使用Container
Builder服务(Beta)自动为你构建容器镜像,然后将镜像部署到App
引擎柔性环境控制平面。该容器将包括
您对运行时映像所做的任何本地修改。
由于容器映像基本上是 dockerfile,因此可以使用 docker export 命令提取其内容:
Usage: docker export [OPTIONS] CONTAINER
Export a container's filesystem as a tar archive
Options:
--help Print usage
-o, --output string Write to a file, instead of STDOUT
docker export 命令不导出卷的内容
与容器相关联。如果一个卷安装在一个
容器中的现有目录,docker export 将导出
底层目录的内容,而不是
音量。
检查已部署应用程序的确切结构(至少在标准环境中)的一种方法是下载应用程序代码并在本地进行检查 - 如果怀疑不正确的应用程序部署会给本地应用程序开发打上问号,这可能会很有用部署来源的存储库。不确定这是否可以在灵活的环境中实现。
最近Deploy webapp on GAE then do changes online from GAE console 帖子的接受答案似乎表明阅读甚至修改实时应用程序代码是可能的(但我自己没有尝试过,不清楚它是否也适用于灵活的环境)。