我有一个本地托管的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,你基本上有两个选项:
- 使用SSH(您可以使用sytech在评论中提到的部署密钥(,或者
- 使用git子模块,并在本地引用您的模块文件
如果您选择使用第二个选项,只需将第一个git repo作为子模块嵌入第二个repo中,并确保您的CI/CD设置设置为获取子模块。一旦设置好了,就把模块路径当作本地文件来引用,这样就不需要HTTPS了。
所有这些都已经设置好了,如果你计划长期使用这种设置,你真的应该设置HTTPS。处理此问题的正确方法是使用GitLab地形模块存储库,该存储库仍需要HTTPS。您可以使用letsencrypt获得免费证书,而且购买域进行验证非常便宜。