build go проект в Jenkins с зависимостями в приватном репозитории - PullRequest
2 голосов
/ 13 июня 2019

Я пытаюсь настроить автоматическую сборку для go проектов.Большинство людей просто используют зависимости github, которые не нуждаются в учетных данных.Однако у нас есть некоторые внутренние зависимости на нашем частном центральном сервере git.Однако для доступа к ним необходимы учетные данные.

Возможный обходной путь - настроить глобальную переменную git в наших сборочных машинах / сборочных докерах;что-то вроде:

git config --global url."https://user:password@private.git.server/".insteadOf "https://private.git.server/"

однако, мне кажется, это не лучшее решение, так как пароль будет храниться в удобочитаемом текстовом файле.

Я думаю, что git-credentials плагин должен помочь мне;Могу ли я экспортировать GIT_TERMINAL_PROMPT=1 и позволить мне заполнить плагин git-credentials?

Как я могу убедиться, что go get или go install получит доступ к нашему частному репозиторию безопасным способом?

1 Ответ

0 голосов
/ 13 июня 2019

Я использую обходной путь с GITHUB_TOKEN для решения этой проблемы.

  1. Создать GITHUB_TOKEN здесь https://github.com/settings/tokens
  2. export GITHUB_TOKEN=xxx
  3. git config --global url."https://${GITHUB_TOKEN}:x-oauth-basic@github.com/mycompany".insteadOf "https://github.com/mycompany"

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

Примечание. При загрузке зависимостей Go использует http, а не ssh.

...