Динамическое добавление и удаление ключей ssh ​​в частный репозиторий gitlab

Мне нужна виртуальная машина, созданная gitlab-ci.yml (под управлением Ubuntu 14.04), чтобы установить упаковщик, а затем получить доступ и загрузить либо весь мой частный репозиторий gitlab, либо только отдельный файл из этого репо.

Сначала я попытался создать ключ ssh в своем скрипте, который создает контейнер и виртуальную машину, а затем удаленно добавить .pub в репозиторий gitlab. Однако я забыл, что вновь созданный контейнер удаляется после завершения сборки. Это означает, что новые ключи генерируются каждый раз при создании контейнера.

Есть ли способ динамически добавлять и удалять ключи в частном репозитории GitLab?


person intRG    schedule 06.12.2016    source источник


Ответы (1)


Чтобы использовать ключи SSH в контейнере GitLab CI Docker для доступа к другим репозиториям на сервере GitLab:

before_script:
  # Add SSH private key and GitLab server host key
  - eval $(ssh-agent -s)
  - ssh-add <(echo "$SSH_PRIVATE_KEY")
  - mkdir -p /root/.ssh
  - echo "$GITLAB_HOST_KEY" >> /root/.ssh/known_hosts
person Jonathon Reinhart    schedule 06.12.2016
comment
Это в значительной степени то, к чему я пришел (только что решил это). Спасибо чувак! - person intRG; 06.12.2016
comment
Пожалуйста. Не забывайте всегда голосовать за любой ответ, который окажется полезным, и принимать ответ, который лучше всего отвечает на ваш вопрос. - person Jonathon Reinhart; 06.12.2016