Как подключить Terraform для создания триггеров сборки облака, которые извлекаются из частного репозитория bitbucket в GCP

Я настраиваю план терраформирования, чтобы создать триггер облачной сборки в облачном провайдере Google. Однако шаги, описанные в документации terraform, предназначены для общедоступных репозиториев git. Когда я попытался подключить частный репозиторий битбакетов, я получил ошибку «репо не найдено».

resource "google_cloudbuild_trigger" "cloudbuild-trigger" {
  trigger_template {
    branch_name = "staging"
    repo_name = "BITBUCKET_TEAM_NAME/repo_name"
    dir = "site_dir"
  }

  filename = "cloudbuild.yml"
}

person Pablo Marti Cordero    schedule 04.04.2019    source источник
comment
Вы указываете учетные данные Bitbucket где-нибудь еще?   -  person Jim Redmond    schedule 04.04.2019
comment
@JimRedmond Я ничего не вижу в документации об учетных данных битбакета для модуля запуска сборки облака Google.   -  person Pablo Marti Cordero    schedule 04.04.2019
comment
Это частное репо. Если вы не пройдете для него какую-либо аутентификацию, вы не сможете получить к нему доступ.   -  person Jim Redmond    schedule 04.04.2019
comment
У вас есть пример того, как это реализовать, или где я могу найти дополнительную информацию. Кажется, я не могу найти правильный поиск, чтобы отточить это. Это было бы очень полезно   -  person Pablo Marti Cordero    schedule 05.04.2019


Ответы (2)


Чтобы предоставить доступ к частному репозиторию - BitBucket предоставляет пароль приложения.

После создания такого пароля с разрешением «Чтение репозитория» вы можете сформировать URI с вашим паролем приложения для обеспечения доступа к вашему репозиторию.

Например: https://YOUR_USERNAME:[email protected]/YOUR-TEAM/YOUR-REPO.git, и этот URI предоставит доступ для чтения вашего репозитория без запроса пароля. Конечно, вы должны понимать последствия раскрытия учетных данных.

person kuza    schedule 07.04.2019
comment
У меня это не сработало. Я пробовал использовать URI вместо repo_name. Это сработало для вас, @Pablo Marti Cordero? - person Arvind Muthuraman; 18.04.2020

repo_name ожидает имя репозитория облачных источников, а не репозитория bitbucket. Первоначально из пользовательского интерфейса мы можем подключить облачную сборку к нашему репозиторию битбакетов (частному).

В настройке мы можем выбрать зеркальное отображение нашего репо в Cloud Source. Затем мы можем указать имя репозитория Cloud Source ti terraform. В этом случае нам не нужно передавать какие-либо учетные данные bitbucket для terraform.

person anand    schedule 19.12.2019