Gitlab

Terraform 源 Gitlab 模組

  • March 16, 2022

我需要幫助從 gitlab 儲存庫中獲取 terraform 模組,其中包含多個模組,如 ec2、vpc 等。我在模組 repo 中有兩個分支 - 開發和主。我嘗試了以下所有方法,但出現錯誤。我正在採購類似下面的東西。我只需要 ssh,不需要 https。

source = "git::ssh://git@gitlabrepo.com:repo_name/modules.git//ec2?ref=develop"
"git::ssh://git@gitlabrepo.com:repo_name/modules.git//ec2?ref=develop"
"git::ssh://git@gitlabrepo.com:repo_name/modules.git/ec2?ref=develop"
"git::ssh://git@gitlabrepo.com:repo_name/modules/ec2?ref=develop"
"git::ssh://git@gitlabrepo.com:repo_name/modules//ec2?ref=develop"
"git::ssh://git@gitlabrepo.com/repo_name/modules//ec2?ref=develop"
"git::ssh://git@gitlabrepo.com:repo_name/modules.git//ec2"
"git::ssh://git@gitlabrepo.com:repo_name/modules.git?ref=ec2"
"git::ssh://git@gitlabrepo.com:repo_name/modules.git?ref=develop//ec2"
"git::ssh://git@gitlabrepo.com:repo_name/modules.git/develop/ec2"
"git::ssh://git@gitlabrepo.com:repo_name/modules.git//ec2?ref=develop"
"git::ssh://git@gitlabrepo.com:repo_name/modules.git/develop/ec2"
"git::ssh://git@gitlabrepo.com:repo_name/modules/ec2?ref=develop"
"git::ssh://git@code.gitlabrepo.com:repo_name/modules//ec2"

這是我得到的錯誤

│ 
│ Module "ec2" (declared at compute/main.tf line 1)
│ has invalid source address
│ "git::ssh://git@code.gitlabrepo.com:repo_name/modules//ec2": Terraform
│ cannot detect a supported external module source type for

這是我的一個項目中的一個工作範例:

module "sql_cluster" {
 source = "git::ssh://git@gitlab.com/foo/bar/tf-modules.git//data/database-cluster?ref=main"

在這裡,分支名稱是“main”,但請注意它可以是標籤或其他引用。

引用自:https://serverfault.com/questions/1094405