问题标签 [google-cloud-source-repos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1079 浏览

google-cloud-platform - 谷歌云源代码库的分支策略

如何在谷歌云源代码库中设置分支策略,开发者不允许将代码推送到主分支,以及如何创建拉取请求。

0 投票
0 回答
1024 浏览

ssh - Google Cloud Source Repositories:权限被拒绝(公钥)

我在项目中有一个源存储库设置。我有我的主要管理员用户,我创建了第二个用户(最初尝试了一个服务帐户),并为该用户提供了对具有源代码库的项目的“项目所有者”访问权限。

我通过运行在本地机器上创建了一个 SSH 密钥:ssh-keygen -t rsa -P "" -C "user@domain.com" -f "mysshfile"

我在 .ssh 文件夹中创建了一个配置文件:

我复制了 mysshfile.pub 的内容并将其注册到 Cloud repo SSH 密钥。

当 git clone 作为我的第二个用户时,它失败并显示错误消息:Permission denied (publickey)。当我 git clone 作为我的主要管理员用户时,它可以工作。

所以我运行 ssh 命令详细检查:ssh -p 2022 -l admin@domain.com -v source.developers.google.com,我得到:

...........

当我运行与测试用户相同的命令时:ssh -p 2022 -l test@domain.com -v source.developers.google.com,我得到:

我不明白为什么使用 ssh 的 git clone 适用于一个用户(我什至不想要的那个)而不是另一个?

0 投票
4 回答
1508 浏览

google-cloud-platform - 未能触发构建:无法读取提交

我使用云构建并与 bitbucket 连接。触发器已与一些构建一起使用。但突然间,我得到了截图中的错误。我没有任何想法。这是什么意思?在此处输入图像描述

0 投票
1 回答
282 浏览

git - 在通过 HTTPS 为 Google Source Repository 调用 git clone 时,有没有办法传递访问令牌

我一直在尝试使用 Google Cloud Functions (python 3.7) 来克隆 Google Source Repository。我正在使用GitPython库,并且该 Cloud Functions 的服务帐户对我要克隆的存储库具有Source Repository Reader访问权限。

最初,我尝试将gcloud.sh credential.helper传递给 git config,但似乎 Cloud SDK 未安装在 Cloud Functions 环境中(至少在 Python 3.7 环境中)。这是我的代码的要点:

如果在 Cloud Functions 上运行,该函数将引发以下错误,因为默认情况下,如果没有凭证助手,https方法将询问UsernamePassword

git.exc.GitCommandError: Cmd('git') failed due to: exit code(128) cmdline: git fetch -v origin stderr: 'fatal: could not read Username for 'https://source.developers.google.com ':输入/输出错误'

我只能找到以下答案来传递令牌以及git clone命令,但它没有回答如何传递令牌:

在不使用 gcloud 的情况下克隆 Google Source Repository

如果我从 cloud shell 启动该命令,它将被挂起:

这是我计划使用上述方法实现的类似功能(不是正确的代码):

我不想将 SSH 密钥作为一种克隆方法,因为我想稍后将其部署到生产环境中,并且轮换密钥会很麻烦。

0 投票
1 回答
375 浏览

google-cloud-platform - 向 Google Cloud 上的 Compute Engine VM 实例添加多个范围不起作用

我正在尝试sample在具有关联启动脚本的 Google Cloud 中创建一个 Compute Engine VM 实例startup_script.sh。在启动时,我希望能够访问存储在 Cloud Source Repository 中的文件。因此,在这个脚本中,我使用克隆一个存储库

此外,startup_script.sh还运行命令,例如

创建.json凭据,以及

获取VM内VM的外部IP。为了不出错地运行这些命令,我​​发现我需要对多个 Cloud API 访问范围进行部分或完全访问。

如果我在创建虚拟机后手动编辑它以允许这样做并重新启动它,startup_script.sh运行良好,即我可以看到每个命令成功完成的结果。但是,我想在创建 VM 时分配这些范围,而不必事后手动编辑范围。我在文档中发现为了做到这一点,我可以运行

但是,当我在 Cloud Shell 中运行此命令时,我一次只能添加一个范围,即--scopes=cloud_platform,或者如果我尝试输入多个范围,如上面的命令所示,我得到

按照文档建议添加多个范围似乎不起作用。使用范围的 URI 而不是它的别名时,我得到了类似的错误。

关于为什么会发生这种情况的任何明显原因?我觉得这可能与与sampleVM 关联的服务帐户(或缺少服务帐户)有关,但我对此并不完全熟悉。

奖励:理想情况下,我想在一个cloudbuild.yaml文件中运行 VM 创建云 shell 命令,我有

我可以使用提交构建

我的设置方式有什么问题cloudbuild.yaml吗?

0 投票
1 回答
171 浏览

google-cloud-build - 如果 Google Cloud Build 中的测试失败,如何拒绝签入

我创建了一个 Docker 文件并将其配置为我的 Google Cloud Source Repository 的触发器。只有几个选项可供我选择“推送到分支”。现在我的 docker 镜像可以在新的推送时进行新的云功能(用 golang 编写)部署。我在我的 Docker 文件中添加了一个 go test 步骤。如果它会导致 go 测试失败,我想拒绝提交,比如 GitLab。如果 go 测试失败,云功能将不会更新。但糟糕的代码会留在那里。如何将这个“拒绝失败代码”功能实现到 Google Cloud Source Repository?

0 投票
1 回答
448 浏览

github - 自动将 GitHub 镜像到 GCP 源存储库?

我们运行 Google Cloud Functions (python),它需要从 Google Cloud Source Repository部署。由于所有代码都存储在 GitHub 上,我们首先将 GitHub 镜像到 Source Repository。虽然这只需要点击几下鼠标,但重复 3+ 项目(开发、登台、生产)乘以 5+ 存储库(5+ 应用程序)成为负担。

我希望将镜像配置自动化,最好将其添加到我们已经使用的 Terraform 自动化中,并将其添加到不干涉的项目配置中。Google API 是否支持这种镜像自动化?到目前为止,在我的 Google Cloud 探险中,所有东西都可以在他们的 API 中使用!

不过,我找不到 Terraform 示例,希望能得到提示。

想一想,如果我可以将 Source Repository 排除在外,那对我来说也很好。毕竟,我只是将它用作传递/空壳。

0 投票
1 回答
98 浏览

python - GCP 云函数助手

假设我们从 GitHub 存储库(通过 GCP 源存储库镜像)部署 GCP Cloud Functions。是否可以设置下面两个函数都可以访问的共享代码?(例如通过helpers.py)。

0 投票
1 回答
150 浏览

google-cloud-source-repos - 创建新存储库时出错 (PERMISSION_DENIED)

我在 Cloud Source Repository(控制台或 gcloud)中创建新存储库时遇到问题。

在 gcloud 的情况下,当我使用具有角色/所有者的用户帐户或具有角色/source.admin的服务帐户运行以下命令时:

我收到以下错误:

错误: (gcloud.source.repos.create) ResponseError: status=[PERMISSION_DENIED], code=[403], message=[User [xxx@xxx] 没有访问项目实例 [PROJECT_ID] 的权限(或者它可能没有存在):调用者没有权限]。

该项目目前没有与之关联的存储库。我能够更早地创建一个(通过控制台),然后在使用之前将其删除。从那以后,我一直无法创建任何后续存储库。

如果其他人遇到类似问题,我很想听听一些建议。

0 投票
0 回答
82 浏览

google-cloud-platform - Google Cloud Source Repository 随机访问被拒绝

尝试推送到我的 GCP git repo 时,我会随机收到以下错误。这个问题通常会在我等待一段时间后自行解决(似乎是 30 分钟或更长时间,但我实际上并没有计时)。