从 Google Build 部署 Google Cloud 功能

2024-05-03

当尝试部署一个简单的功能时,我遇到了 403 错误。这是我的完整 yaml:

steps:
# Install Dependencies
- name: 'python'
  id: Pip install
  args: ['pip3', 'install', '-r', 'requirements.txt', '--user']
# Run Tests
- name: 'python'
  args: ['python3', '-m', 'pytest', 'functions/folder_a/test/']
# Deploy Cloud Functions
- name: 'gcr.io/cloud-builders/gcloud'
  id: 'helloFunction'
  args: ['functions', 'deploy', 'hello', '--source' , 'functions/folder_a/main.py',
           '--runtime' , 'python37' ,'--trigger-http']

第一步完成得很好,但第二步在这里出现错误。

$ gcloud info

Account: [[email protected] /cdn-cgi/l/email-protection]
Project: [projectname]

Current Properties:
  [core]
    project: [projectname]
    account: [[email protected] /cdn-cgi/l/email-protection]
    disable_usage_reporting: [True]

我尝试向 IAM 中的上述帐户添加以下权限:

  • 云构建服务代理
  • 云功能开发人员
  • 云功能服务代理
  • Editor

当 Google Build 运行时,它使用哪个服务帐户?如何更改权限以允许自动部署功能?


使用 Cloud Build 部署 Cloud Functions 记录在https://cloud.google.com/functions/docs/bestpractices/testing#continuous_testing_and_deployment https://cloud.google.com/functions/docs/bestpractices/testing#continuous_testing_and_deployment

该页面的指导是:

  • 要部署 Cloud Functions,您可能需要将 Cloud Functions Developer 角色分配给 Cloud Build 服务帐户 ([电子邮件受保护] /cdn-cgi/l/email-protection).
  • 如果您使用Cloud Functions Developer角色,还需要授予Cloud Functions Runtime服务帐号([电子邮件受保护] /cdn-cgi/l/email-protection) the IAM 服务账户用户角色 https://cloud.google.com/functions/docs/reference/iam/roles#adding_the_iam_service_account_user_role_to_the_runtime_service_account.

Cloud Build 服务帐户是[电子邮件受保护] /cdn-cgi/l/email-protection,如果您在控制台中查找它,只会有一个服务帐户*@cloudbuild*

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Google Build 部署 Google Cloud 功能 的相关文章

随机推荐

  • 在 O(nloglogn) 最坏情况时间内对具有 O(logn) 个不同元素的 n 元素数组进行排序

    目前的问题是标题本身的内容 即给出一种算法 该算法在 O log logn 最坏情况时间内对具有 O log n 个不同元素的 n 元素数组进行排序 有任何想法吗 此外 您通常如何处理具有多个非不同元素的数组 O 日志 日志 n 时间足以让
  • 如何在 flatpak google chrome 中从 intellij 打开浏览器预览

    当我尝试在 Google Chrome 中打开浏览器预览时 遇到以下错误 不幸的是 我通过以下方式安装了 Google Chromeflatpak https flathub org apps details com google Chro
  • #NUXT.JS 中常用组件方法的存储位置

    实际上我想知道 NUXT JS 中常见组件方法的存储位置 我尝试过的事情 gt 在中间件中存储公共代码 它没用 因为据我所知 中间件只能处理对服务器的请求和响应 methods states methods SwitchManager fu
  • 使用 redux-thunk 取消之前的异步操作

    我正在使用 redux thunk 中间件构建一个 React Redux 应用程序来创建和处理 Ajax 请求 我有一个经常触发的特定 thunk 我想在触发新请求之前取消任何先前启动的 Ajax 请求 这可能吗 一种方法是通过为这些请求
  • bootstrap 一般如何工作,特别是在 Zend Framework 中?

    我正在阅读 Zend Framework 手册 但无法理解引导程序如何工作 特别是在 ZF 和一般情况下 他们写 您的 Bootstrap 类定义了要使用哪些资源和组件 初始化 好的 这意味着应该首先实例化 Bootstrap 类 但随后他
  • Rails 渲染不必要的信息

    我一直在使用 RoR 和 Bootstrap 我试图将我的代码渲染成我在网上找到的片段 基本上我的索引中有这个 div class col md 6 div class well well sm div class row p p p p
  • 如何返回给定长度的所有列表元素?

    我正在尝试返回具有特定长度的单词 这是我到目前为止的代码 words是一个列表并且size是一个正整数 def by size words size for word in words if len word size 我不知道如何继续 b
  • Promise 完成后导出模块

    我实际上想将 read 函数放在不同的模块中 然后在我的主 app js 中需要它 我对使用承诺还很陌生 修改 var dir require node dir var files function getFiles return new
  • 使用自己的网络服务器实现一致的安全 Google Play 应用内购买场景

    我已多次阅读了中的所有文档Android 开发者指南 http developer android com guide google play billing index html并熟悉了精彩的 Google 演示躲避海盗并阻止吸血鬼 ht
  • 使用 JDBC 3.0 实现对嵌套事务的支持

    我们的遗留应用程序使用 JDBC 3 0 它通过实现自己的事务管理器来支持事务 该事务管理器能够为每个线程返回相同的 JDBC 连接 我最近发现的问题是它不支持嵌套事务 如果一个事务在另一个事务中启动 那么在内部事务上下文中运行的每个 SQ
  • 如何使用 gulp webpack-stream 生成正确命名的文件?

    目前我们正在使用Webpack https webpack github io 对于我们的模块加载器 以及Gulp http gulpjs com 对于其他一切 sass gt css 以及开发 生产构建过程 我想将 webpack 的东西
  • 与 Python 中的另一个命令行程序交互

    我需要编写一个 Python 脚本 它可以运行另一个命令行程序并与其标准输入和标准输出流交互 本质上 Python 脚本将从目标命令行程序中读取数据 通过写入其 stdin 进行智能响应 然后再次从程序中读取结果 它会重复执行此操作 我查看
  • Microsoft 认知 API 的正确密钥

    我目前正在尝试在 MS 认知服务 Bing 搜索 API 上进行新闻搜索 我读过很多文档 但似乎被困住了 这是我正在使用的代码 url https bingapis azure api net api v5 news search q mi
  • C++ 进程管理 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有一个众所周知的 可移植的 好的 C 进程管理库 我发现了一个很有前途的图书馆叫做升压过程 htt
  • Java Keystore 是否存在性能问题? [复制]

    这个问题在这里已经有答案了 我们开发了一个应用程序来加密 解密来自服务器的请求 响应 我们正在做性能测试 加密 解密应用程序 我们观察到加密 解密过程需要时间 而许多线程 正在同时做 为了识别问题 我们记录了加密 解密过程中的所有方法 从记
  • ERRO[0001] 等待容器时出错:上下文已取消

    运行 docker 镜像时出现错误 看起来问题出在我的电脑上 我使用的是 MacOS 10 13 6 我已按照步骤创建 docker 映像 Sanjeet server api sanjeet docker build t apiconta
  • 删除 ggplot 地图/choropleth 中的边框线

    我想删除 ggplot 中生成的等值线区域之间的线 我的问题是由一张非常大的地图引起的 其中包含非常非常小的区域 人口普查区块组 这些区域数量如此之多 以至于鉴于边界的密度 不可能看到填充形状的颜色 我在 Mac 上使用更新后的 RStud
  • “isset构造”有捷径吗?

    我经常写这行代码 myParam isset params myParam params myParam defaultValue 通常 它会使嵌套数组的行变得很长 我可以把它改短一点吗 function getOr var default
  • ZeroMQ在多线程应用程序中处理中断

    多线程环境下ZeroMQ的优雅退出 规格 带有 c 11 的 ubuntu 16 04 libzmq 4 2 3 示例代码 static int s interrupted 0 static void s signal handler in
  • 从 Google Build 部署 Google Cloud 功能

    当尝试部署一个简单的功能时 我遇到了 403 错误 这是我的完整 yaml steps Install Dependencies name python id Pip install args pip3 install r requirem