我创建了一个简单的Vue.js应用程序。然后我创建了一个用于生产的构建
npm run build
命令,在项目结构中创建dist
文件夹。
然后我使用gcloud app deploy
命令将其部署到Google App Engine,但是部署停止并显示错误消息:
ERROR: (gcloud.app.deploy) INVALID_ARGUMENT: This deployment has too many files. New versions are limited to 10000 files for this app.
有人可以告诉我将Vue.js应用程序部署到Google App Engine的正确方法是什么吗?
答案 0 :(得分:2)
您是否尝试过使用Cloud Build将Vue.js应用部署到Google App Engine?我以这种方式部署任何Vue.js应用程序都没有问题。尝试按照complete instructions.
的本教程进行操作基本上,在通过Cloud Build将Vue.js应用部署到Google App Engine时,您必须在项目根目录中包含以下两个文件:
runtime: nodejs10
handlers:
# Serve all static files with urls ending with a file extension
- url: /(.*\..+)$
static_files: dist/\1
upload: dist/(.*\..+)$
# catch all handler to index.html
- url: /.*
static_files: dist/index.html
upload: dist/index.html
和
steps:
- name: node:10.15.1
entrypoint: npm
args: ["install"]
- name: node:10.15.1
entrypoint: npm
args: ["run", "build"]
- name: "gcr.io/cloud-builders/gcloud"
args: ["app", "deploy"]
timeout: "1600s"
如果您不使用云构建,则可以使用上面的app.yaml并引用cloudbuild.yaml中隐含的步骤,这意味着:
npm install
npm run build
gcloud app deploy
答案 1 :(得分:1)
项目中文件太多。
在您的app.yaml
文件中,添加skip_files
标记,以便部署不会在上传文件中包含不必要的文件或文件夹。您还可以将其与正则表达式混合使用,例如:
skip_files:
- node_modules/
- .gitignore
- src/
- public/
- babel.config.js
- ^(.*/)?\..*$
答案 2 :(得分:0)
我发现了一些Google Cloud Platform文档,这些文档可能会对您的问题有所帮助,在此link的“部署”部分下,它表明,对于每个部署,每个版本只能上传10,000个文件,并且每个文件限制为一个最大大小为32 MB。您遇到了这两个问题之一,建议您在您的应用中检查一下,然后尝试再次部署。
答案 3 :(得分:0)
如果您不想在 SSL 证书的 namecheap 上浪费 10 美元和您的时间(像我一样),您可能希望为每个处理程序添加 secure: always
选项。
- url: /.*
static_files: dist/index.html
upload: dist/index.html
secure: always
喜欢!不过,前提是您使用的是自定义域。