代码之家  ›  专栏  ›  技术社区  ›  Vijay

gcloud不跳过根级别的文件

  •  0
  • Vijay  · 技术社区  · 6 年前

    我正试着给GAE安排一个SPA。我遵循他们的 static website example . 我的项目文件夹结构如下:

    D:\Projects\Proj1
        |-node_modules
        |-src
        |-www
        |-.babelrc
        |-.gitignore
        |-app.yaml
        |-package.json
        |-package-lock.json
    

    我的app.yaml如下:

    runtime: php55
    service: frontend
    api_version: 1
    threadsafe: true
    
    handlers:
    - url: /
      static_files: www/index.html
      upload: www/index.html
    
    - url: /(.*)
      static_files: www/\1
      upload: www/(.*)
    

    www 文件夹。 gcloud gcloud app deploy app.yaml --quiet --version %DOC_VERSION% --project %GCP_PROJECT_ID% 来自批处理文件的命令。

    我在期待 复制和部署仅在 万维网 文件夹,但它开始复制 node_modules 文件夹(我终止了进程)。

    app.yaml 现在看起来是这样的:

    runtime: php55
    service: frontend
    api_version: 1
    threadsafe: true
    skip_files:
        - ^node_modules$
        - ^src$
        - ^assets$
        - ^\.
    
    handlers:
    - url: /
      static_files: www/index.html
      upload: www/index.html
    
    - url: /(.*)
      static_files: www/\1
      upload: www/(.*)
    

    一切正常。

    我的理解是 static_files 设置由 G云 skip_files 是正确处理这种行为的唯一方法吗?

    1 回复  |  直到 6 年前
        1
  •  4
  •   LundinCast Kapil Kaushal    6 年前

    static_files 在app.yaml文件中设置仅将目录指定为静态文件的位置,以便平台在运行时需要时找到它们。

    要指定在部署期间应上载或不应上载哪些目录和文件,请定义 skip_files 在app.yaml中是一个选项。另一个选择是创建 .gcloudignore 文件位于项目的根目录(app.yaml所在的位置),您可以在其中指定 上传到谷歌云平台。它的语法与 .gitignore . 您将在Github示例代码中找到一个示例 here 跳过\u文件 .gcloudignore命令 避免冲突。