使用Terraform的Bitbucket到源回购镜像

问题描述 投票:0回答:1

我正在尝试自动化项目和资源的创建,以及使用terraform自动化云构建的触发器。要使用云构建触发器,我将不得不将位桶存储库镜像到GCP的源存储库。

我正在使用以下内容创建源项目https://www.terraform.io/docs/providers/google/r/cloudbuild_trigger.html,但没有设置镜像的选项。

在挖掘GCP(https://cloud.google.com/source-repositories/docs/reference/rest/v1/projects.repos/create)的API时,我可以看到mirrorConfig选项,但是文档说它处于只读模式。当我为API设置mirrorConfig时,出现以下错误。

{
  "error": {
    "code": 400,
    "message": "Request contains an invalid argument.",
    "status": "INVALID_ARGUMENT",
    "details": [
      {
        "@type": "type.googleapis.com/google.rpc.BadRequest",
        "fieldViolations": [
          {
            "field": "repo.mirror_config",
            "description": "mirror_config is a read-only field and must not be set"
          }
        ]
      }

是否有一种方法可以使用terraform在GCP中自动将位存储桶到源存储库的镜像复制?如果没有,是否有其他替代方法/工具来实现这一目标?

google-cloud-platform bitbucket terraform terraform-provider-gcp
1个回答
0
投票

如您所提到的(并且如documentation中所述),“ mirrorConfig”字段当前设置为只读,因此无法为其手动设置任何值。随后,您收到上述错误以及相应的消息描述。

设置镜像需要其他信息,因为云源存储库需要来自Bitbucket的授权,而SourceRepo API中未公开此操作。

“ mirrorConfig”在创建时是只读的,因为在使用Cloud Console时,此附加的必需信息是通过依赖用户从同一浏览器会话登录Cloud和GitHub站点来提供的。但是,API没有能力处理此问题。

似乎目前无法通过API镜像存储库。要自动创建镜像存储库,除了使用UI之外,没有其他解决方法,因此您将必须通过Cloud Console连接到外部源,如Mirroring a Bitbucket repository文档中所述。

但是,在我的调查中,我发现了关于此问题的Public Issue,但指的是GitHub。您可以在此公共发行中添加评论,以同时包含Bitbucket的功能,也可以对其进行“星标”,以便其具有更高的知名度,并可以对其进行进一步的更新。

希望此信息对您有所帮助。

© www.soinside.com 2019 - 2024. All rights reserved.