Модуль загрузки Terragrunt из конкретной ветки

Недавно я начал использовать terragrunt, и мне было интересно, можно ли загрузить модуль из определенной ветки, а не из определенного тега (или в дополнение к тегу), а не из мастера по умолчанию

Загрузите конкретный тег из мастера:

terraform {
  source = "[email protected]:<repo>/infrastructure-modules.git//gcp/bucket?ref=v.0.0.1"
}

Скачать конкретную ветку из репо?

# Pseudo code
terraform {
  source = "[email protected]:<repo>/infrastructure-modules.git//gcp/bucket?ref=v.0.0.1%branch=test"
}

person potatopotato    schedule 14.07.2020    source источник
comment
ref=<mybranch> сработал?   -  person VonC    schedule 15.07.2020
comment
нет, похоже, теги работают во всем репозитории, поэтому я просто внес изменения в ветку, git add, git commit, git tag -a 'v1.branch', git push --follow-tags -u origin ‹branch_name›, и я может ли ссылка тега на ветку не является ведущей   -  person potatopotato    schedule 15.07.2020
comment
Хорошо, это полезно знать. Я соответствующим образом отредактировал ответ и включил ваш комментарий для большей наглядности.   -  person VonC    schedule 15.07.2020


Ответы (2)


Глядя на код, есть нет очевидного способа указать ветку.

Это означает, что вам нужно добавить тег в эту ветку и использовать этот тег как ref.
При этом сначала проверьте, работает ли ref=<mybranch>.

Однако OP potatopotato подтверждает в комментариях, что прямая ссылка на имя ветки не работает.

Я только что внес изменения в ветку и:

git add
 git commit
 git tag -a 'v1.branch'
 git push --follow-tags -u origin <branch_name>

и я мог бы использовать ссылку тега на ветку, а не master.

И Немецкий Даутин answer указывает на Terraform / Источники модулей / Выбор версии.

По умолчанию Terraform будет клонировать и использовать ветку по умолчанию (на которую указывает HEAD) в выбранном репозитории. Вы можете переопределить это, используя аргумент ref:

module "vpc" {
  source = "git::https://example.com/vpc.git?ref=v1.2.0"
}

Значение аргумента ref может быть любой ссылкой, которая будет принята командой git checkout, включая имена веток и тегов.

Таким образом, возможно использование имени ветки.

person VonC    schedule 14.07.2020

Мне удалось указать ветку, используя следующее:

terraform {
  source = "[email protected]:<repo>/infrastructure-modules.git//gcp/bucket?ref=branch-name"
}
person German Dautin    schedule 05.03.2021
comment
Интересно: есть ли документация, поддерживающая этот синтаксис? - person VonC; 05.03.2021
comment
здесь четко объясняется ссылка значением аргумента ref может быть любая ссылка, которая будет принята командой git checkout, включая имена веток и тегов. - person German Dautin; 07.03.2021