首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >模块级带有GITLAB的CloudBuild

模块级带有GITLAB的CloudBuild
EN

Stack Overflow用户
提问于 2022-07-18 08:34:38
回答 1查看 137关注 0票数 0

我在GITHUBGCP(Cloud Build for deployments)上工作,工作很好。以下是以下步骤:

  • 创建多个云函数,并使用相同的GIT存储库。
  • 为每个云函数创建单独的云构建触发器,其中存储库中每个云函数文件夹中都有单独的cloudbuild.yml
  • 当相应的云函数脚本发生更改时,触发器将被运行。

现在,我需要将Cloud BuildGITLAB集成起来。我查看了文档,但发现只有webhook才是选项,触发器将基于整个存储库的更改。对于每个云功能或云运行,它都需要单独的存储库。没有选项可以选择存储库本身。

专家能否指导我如何进行这种集成,因为我们计划在存储库中存储一个回购和多个服务/应用程序。我们希望CI能够在GCP环境中运行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-18 10:49:26

就个人而言,我发现在与GCP构建的集成方面,GitLab与GitHub和BitBucket相比是最差的(在GCP中运行部署)。

我不知道理想的解决方案,但我可能有两个想法。在我看来,没有一个是好的。

1/镜像GitLab存储库变成了GCP存储库--在我看来,将GitLab存储库镜像到云源存储库是最大的缺点之一--集成解决方案是基于个人证书的,并且应该有一个人让它工作-

如果Google帐户关闭或在Cloud存储库中失去Git存储库的访问权限,镜像将停止工作

当镜像完成时--您可能可以以一种普通的方式使用基于GCP的存储库,并像往常一样触发云构建作业。另一个问题-如何向那些启动部署的人提供部署日志.

2使用钩子。这不依赖于任何个人帐户,但不是很细的-正如您所提到的在整个存储库级别上推送。为了克服这个限制,可能会有一个非常棘手(内联)的yaml文件--由云构建触发器执行。在该yaml文件中,我们不仅应该获取代码,而且还应该解析该推送中的所有更改(所有提交),以找出哪些子目录(因此是独立的组件-云函数)可能被修改。然后,对于每个受影响的(修改的)子目录,我们可以触发(异步)其他一些云构建作业(其中包含位于该子目录中的yaml文件)。

一个明显的缺点--不清楚应该由谁和如何从所有这些部署中获取日志,特别是如果出了问题,开发(和管理)这样的部署过程可能会耗费时间/精力,而且不容易。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73019459

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档