在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时,它们将会消失。
快速启动
打开开发者控制台,点击按钮就完成了。
价格
据说,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,即可在浏览器中显示。
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,在浏览器中显示时出现错误…。
我用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