在Google Cloud Shell中运行App Engine DevServer

Google 云 Shell?

Cloud Shell是Developers Console中的一个功能,它提供了一个基于Debian Linux的Shell环境。

由于GCloud SDK和各种工具都被预先安装好,所以它为轻松尝试不同内容提供了方便的环境。

由于每个用户可使用5GB的磁盘空间,可以将git clone、Cloud Storage和BigQuery的导出结果保存在磁盘上。
但是,请注意,除了$HOME以外的所有内容在重新启动云Shell时将被初始化。

Available tools中列明了已安装的内容。
我随意抽取一部分作为示例。

可用的工具

    • bash

 

    • sh

 

    • Google App Engine SDK

 

    • Google Cloud SDK

 

    • Emacs

 

    • Vim

 

    • Nano

 

    • Gradle

 

    • Make

 

    • Maven

 

    • npm

 

    • nvm

 

    • pip

 

    • Git

 

    • Mercurial

 

    • Docker

 

    • iPython

 

    • MySQL client

 

    gRPC compiler

语言支持

    • Java

 

    • Go

 

    • Python

 

    • Node.js

 

    • Ruby

 

    PHP

在使用GCP进行开发时,可能会发现有一些相当有用的工具。虽然可以进行额外的安装,但除了$HOME之外的部分都会被清除,如果使用apt-get之类的方式进行安装,当重新启动Cloud Shell时,它们将会消失。

快速启动

打开开发者控制台,点击按钮就完成了。

Home_-_cp300demo1_and_Google_Cloud_ShellでApp_Engine_DevServerを動かす.png

价格

据说,2016年期间可以免费提供。由于与垃圾邮件发送者存在利益冲突,这种功能的费用有可能发生变化,所以让我们祈祷2017年也能免费使用。

网页预览

Cloud Shell中有一个名为Web Preview的功能,可以在Cloud Shell上启动Web服务器并访问。
我们试试启动App Engine的Dev Server。

Python -> Python编程语言

首先,克隆GitHub上的App Engine示例项目。

git clone https://github.com/GoogleCloudPlatformTraining/cp100-appengine-memcache-python.git

最後,在app.yaml文件所在的位置运行dev_appserver.py,Dev Server将在8080端口上启动。

cd cp100-appengine-memcache-python
dev_appserver.py .

然后,点击Cloud Shell左上方的按钮,选择预览端口8080,即可在浏览器中显示。

Home_-_GCPUG_and_Google_Cloud_ShellでApp_Engine_DevServerを動かす.png
https___8080-dot-1978286-dot-devshell_appspot_com__authuser_0.png

Java – 只需要一个选项的话,我会选择Java

尽管 Java 的基本流程应该是相同的,但奇怪的是无法在浏览器上正确显示。

将示例项目克隆到git

git clone https://github.com/GoogleCloudPlatformTraining/cp100-appengine-memcache-java.git

使用Maven启动Dev Server。

cd cp100-appengine-memcache-java
mvn appengine:devserver

点击Cloud Shell左上方的按钮,选择预览端口8080,在浏览器中显示时出现错误…。

Home_-_GCPUG.png
https___8080-dot-1978286-dot-devshell_appspot_com__authuser_0_error.png

我用Maven做了上述的事情,但是我想尝试一下使用App Engine SDK中的dev_appserver.sh,结果却显示command not found。虽然我已经安装了App Engine Java SDK,但似乎却没有dev_appserver.sh。

送您的赠品

当然,也可以在App Engine上部署。

Python -> Python (Python)

cd cp100-appengine-memcache-python
appcfg.py -A cp300demo1 -V example update . --noauth_local_webserver

Java – Java

部署可以正常进行Java开发。

如果在pom.xml的路径下执行以下操作,并将cp300-gae-memcache-java/src/main/webapp/WEB-INF/appengine-web.xml中的更改为我自己的GCP项目,即可进行部署。

mvn appengine:update
广告
将在 10 秒后关闭
bannerAds