Go Get для Google Cloud Source Repository

Делая два разных go модули

  1. source.cloud.google.com/me/a

  2. source.cloud.google.com/me/b

С source.cloud.google.com/me/common как общая зависимость от lib (чтобы поделиться моделью)

Я пытаюсь go get source.cloud.google.com/me/common (даже вручную написал это в go.mod файл), но я продолжаю получать следующую ошибку:

package source.cloud.google.com/me/common: 
unrecognized import path "source.cloud.google.com/me/common" 
(parse https://source.cloud.google.com/me/common?go-get=1: no go-import meta tags ())

я имею gcloud настроить, чтобы иметь возможность использовать app deploy и создавать новые исходные репозитории. Я пытался настроить ssh для Google Cloud и попытался использовать учетные данные вручную. Это не работает ни локально, ни в облачной службе сборки Google.

Я хочу сделать две вещи:

  1. Быть способным go get эта зависимостьsource.cloud.google.com/me/common
  2. Быть в состоянии интегрировать это go get в мой App Engine автоматизированный конвейер сборки.

Любая помощь будет оценена.

3 ответа

  1. Настроить репо на https://source.cloud.google.com/
  2. Разрешить ручной доступ к git https://source.developers.google.com/p/YOUR_PROJECT_ID/r/YOUR_REPO В этом примере: https://source.developers.google.com/p/m/r/common
  3. Ваш common модуль должен выглядеть как source.developers.google.com/p/m/r/common.git
  4. Запустить: go get source.developers.google.com/p/m/r/common.git на другом модуле

Я бы попробовал следующие шаги:

  1. Убедитесь, что у него есть ручной доступ к git - вы можете попробовать клон git из папки «a», чтобы проверить правильность доступа git. Удалите его после клонирования.
  2. Убедитесь, что вы используете HTTP - похоже, вы хороши в этом отношении - go1.14 сделал HTTP по умолчанию для go get.
  3. Теперь перейдем к реальной проблеме - похоже, что ваши частные системы контроля версий не отправляют требуемый метатег «go-import».

Например - обратитесь к любому модулю github go, вы увидите метатег "go-import":

Чтобы исправить это, сервер VCS должен ответить этим тегом, когда go get пытается загрузить "общий" модуль

      <meta name="go-import" content="source.cloud.google.com/me/common git https:source.cloud.google.com/me/common">

Это работает:got get source.developers.google.com/p/YOUR_PROJECT_ID/r/YOUR_REPO.git

Другие вопросы по тегам