引用本地托管gitlab上对等存储库中的模块



我有一个本地托管的gitlab实例,在同一组中有两个存储库。

AWS:
-   /Modules
-   /VPC

在vpc回购中,我指的是Modules回购中的一个模块

module "custom-vpc" {
source      = "git::https://local.gitlab.mydomain.com/aws/modules.git//vpc"
…

然而,在CI中,这会在init阶段导致以下错误:

fatal: unable to access
│ 'https://local.gitlab.mydomain.com/aws/modules.git/': SSL
│ certificate problem: unable to get local issuer certificate

由于两个repo都是同一组的一部分,并且托管在本地,有没有一种方法可以在不使用https路由的情况下引用模块?或者还有什么其他解决方案?

如果你试图避免使用HTTPS,你基本上有两个选项:

  1. 使用SSH(您可以使用sytech在评论中提到的部署密钥(,或者
  2. 使用git子模块,并在本地引用您的模块文件

如果您选择使用第二个选项,只需将第一个git repo作为子模块嵌入第二个repo中,并确保您的CI/CD设置设置为获取子模块。一旦设置好了,就把模块路径当作本地文件来引用,这样就不需要HTTPS了。

所有这些都已经设置好了,如果你计划长期使用这种设置,你真的应该设置HTTPS。处理此问题的正确方法是使用GitLab地形模块存储库,该存储库仍需要HTTPS。您可以使用letsencrypt获得免费证书,而且购买域进行验证非常便宜。

最新更新