我可以将 C# 可执行文件部署到 GCP Cloud Functions,从而绕过 Cloud Functions 的源代码构建过程吗?
我想将已编译的 C# 可执行文件部署到 GCP Cloud Functions,但 Cloud Functions 似乎要求我提供未编译的源代码,并且它将从中构建一个容器以在 Cloud Functions 上运行。
我认为问题在于我的项目结构是嵌套的 - 入口点的项目依赖于项目结构中更高的项目,我认为这与 Cloud Functions 似乎期望的项目结构配合得不好。
如果我在 CICD 管道中构建可执行文件,并且 Cloud Functions 允许我将可执行文件部署到服务,则可以解决此问题。但是,我没有发现任何内容表明这对于 C# 和 Cloud Functions 是可能的(尽管对于 Java 是可能的)。
我可以将 C# 可执行文件部署到 GCP Cloud Functions,从而绕过 Cloud Functions 的源代码构建过程吗?
目前还没有,没有。有一个 Buildpack 功能请求,但我不会屏住呼吸。
就我个人而言,在这种情况下,我可能会考虑将其打包为映像并直接部署到 Cloud Run。 但是,如果目标不是真正的“部署二进制文件”而是“部署我的项目”:
我认为问题在于我的项目结构是嵌套的 - 入口点的项目依赖于项目结构中更高的项目,我认为这与 Cloud Functions 似乎期望的项目结构配合得不好。
do...那么我们
有一种方法来处理这个问题,如“部署具有本地项目依赖项的函数”中的示例所示。 基本上,您从根目录进行部署(可能使用
.gcloudignore
文件),以便上传所有必需的源代码,然后使用
--set-build-env-vars
在 Buildpack 中设置 GOOGLE_BUILDABLE
环境变量,然后由该变量指定包含您的功能的项目。函数框架存储库中的示例部署为:
gcloud functions deploy multi-project \
--runtime dotnet6 \
--trigger-http \
--entry-point=Google.Cloud.Functions.Examples.MultiProjectFunction.Function \
--set-build-env-vars=GOOGLE_BUILDABLE=Google.Cloud.Functions.Examples.MultiProjectFunction