Как использовать личный токен доступа github с gitlab runner - PullRequest
0 голосов
/ 18 декабря 2018

I зеркалировал частный репозиторий от Github для запуска сборок с помощью gitlab runner.В моем проекте есть приватные гемы, размещенные на Github, и сборка завершается с ошибкой

Fetching git@github.com:private/gem.git
Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Retrying `git clone 'git@github.com:private/gem.git' "/builds-ci/gitlab/repo/vendor/ruby/2.4.0/cache/bundler/git/gem-a356dd016736a58b8b77677e8d7df689f8f43ada" --bare --no-hardlinks --quiet` due to error (2/4): Bundler::Source::Git::GitCommandError Git error: command `git clone 'git@github.com:private/gem.git' "/builds/gitlab-ci/repo/vendor/ruby/2.4.0/cache/bundler/git/gem-a356dd016736a58b8b77677e8d7df689f8f43ada" --bare --no-hardlinks --quiet` in directory /builds/gitlab-ci/repo has failed.Host key verification failed.
fatal: Could not read from remote repository.

. Я использовал персональный токен доступа Github для зеркалирования частных репозиториев от Github до Gitlab. Существует способ использовать токен доступа Github для клонирования приватных гемов с помощью компоновщика без необходимости установки ключей SSH:

export BUNDLE_GITHUB__COM=x-access-token:<token>

Нужно ли создавать отдельный токен доступа и вставлятьэто в .gitlab-ci.yml

image: ruby:2.4.1

variables:
  BUNDLE_GITHUB__COM=x-access-token:<token>

...

Или я могу использовать токен, который я использовал для зеркалирования репозиториев из Github?Вот так

variables:
  BUNDLE_GITHUB__COM=x-access-token:$SOME_GITLAB_JOB_ACCESS_TOKEN

?

1 Ответ

0 голосов
/ 21 января 2019

Мне удалось это сделать, добавив BUNDLE_GITHUB__COM к .gitlab-ci.yml и отправив его в исходный код:

# .gitlab-ci.yml
variables:
  BUNDLE_GITHUB__COM=x-access-token:<token>
...
...