gcloudignore不允许标准通配符白名单

时间:2018-10-24 19:00:45

标签: google-cloud-functions gcloud ignore

Gcloudignore与gitignore一样,可以将某些文件排除在上载到GCF之外。有时候,当您的大型项目中包含大量生成的文件时,排除除少数文件之外的所有文件会很有用。

  

.gcloudignore

# Ignore everything
# Or /*
*

# Except the Cloud Function files we want to deploy
!/package.json
!/index.js

以下gcloudignore文件提供给我们:File index.js or function.js that is expected to define function doesn't exist in the root directory.表示index.js被忽略并且无法读取。

但是以下忽略文件语法可以很好地部署:

# Ignore everything
/[!.]*
/.?*

# Except the Cloud Function files we want to deploy
!/package.json
!/index.js

我尝试查看gcloud程序代码,但我想知道是否有人知道为什么会这样吗?

2 个答案:

答案 0 :(得分:0)

我也遇到了这个问题。

我找到了一种解决方法-明确允许当前目录:

# Ignore everything by default
*

# Allow files explicitly
!foo.bar
!*.baz

# Explicitly allow current dir. `gcloud deploy` fails without it.
!.

为我工作。不知道为什么。

答案 1 :(得分:0)

OperationError: code=13, message=Error setting up the execution environment for your function. Please try deploying again after a few minutes.

我最近刚遇到这个问题。在我看来,错误代码13表示该代码/函数未能及时(没有及时)初始化。

就我而言,问题主要是由检查Stackdriver Logs之后的Provided module can't be loaded.(依赖关系失败)或Provided code is not a loadable module.(缺少主模块)引起的,这表明部署是'完成。

以下是我的工作方式:

# Ignore everything by default
/*

# Allow files explicitly
!config.js
!index.js

# Tried !app/ but does not work
!app/**

# Explicitly allow current folder, as Arne Jørgensen said.
!.

请注意,!app/还不够。我必须使用!app/**来包含所有文件。

如果需要,请检查function console中的“源”标签,以查看实际上传的文件。