Appengine(Python)"推送部署" app.yaml位置

时间:2014-09-10 17:39:03

标签: python git google-app-engine deployment app.yaml

我有一个具有以下文件结构的应用

app
├── src 
│    ├── app.yaml
│    ├── {other}
│    ├── {.py source}
│    └── {files}
├── {{other}}
├── {{meta}}
└── {{data}}

在“推送部署”之前,我像这样部署我的应用程序

cd app/; appcfg.py --oauth2 update src

我想设置“Push to Deploy”,但似乎需要像这样的根目录下的app.cfg。

app
├── app.yaml
├── {other}
├── {.py source}
├── {files}
├── {{other}}
├── {{meta}}
└── {{data}}

有没有办法使用“推送部署”而不将所有{其他.py源文件}移动到根目录?

我可以将app.yaml文件移动到root。但是,app.cfg需要进行哪些更改?

这是我的app.cfg文件

application: myApp
version: v1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /
  script: main.application

- url: /tasks/.*
  script: tasks.Update.app
  login: admin

- url: /favicon.ico
  static_files: resources/images/static/favicon.ico
  upload: resources/images/static/favicon.ico

- url: /redirect/.*
  script: Redirect.app

1 个答案:

答案 0 :(得分:0)

您应该能够将所有Python源文件放在一个包中(其中包含__init__.py文件的子目录),然后通过包路径引用您的处理程序。

app
-- app.yaml
-- myapp
   -- __init__.py
   -- main.py
   ...

app.yaml只使用如此路径:

...
handlers:
- url: /
  script: myapp.main.application