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程序代码,但我想知道是否有人知道为什么会这样吗?
答案 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中的“源”标签,以查看实际上传的文件。