Commit 8021cc7a authored by Pavel Mashliakovskiy's avatar Pavel Mashliakovskiy 🤹🏻
Browse files

subrepository via ssh notes added

parent 97cef367
# Настройка gitlab CI
## Pull внешнего репозитария
Если репозитарий с ограниченным доступом - идем в него,
`Settings -> Access Tokens`
и делаем токен c именем проект_read, например для проекта ucloud: `ucloud_read` в Scopes ставим галочку `read_repository`
> Я на всякий случай храню токены в томе под VeraCrypt. **НЕЛЬЗЯ хранить токены в незащищённых местах**
Копируем полученный токен и добавляем в секреты нашего проекта
`Settings -> CI/ CD -> Variables -> Add variable`
Key: TOKEN_UCLOUD_READ
Value: токен с шага 1
Type: variable
Protect vsriable: true
Mask variable: true
Теперь в CI скрипте токен доступен в переменной $TOKEN_UCLOUD_READ:
```shell
git pull https://ucloud_read:$TOKEN_UCLOUD_READ@git-pub.intecracy.com/unitybase/ucloud.git
```
### Решение проблемы `Host key verification failed`
При клонировании субмодулей может возникнуть ошибка
```
Updating/initializing submodules recursively...
Submodule 'XXX' (git@gitlab.intecracy.com:registers/XXX) registered for path 'XXX'
Cloning into '/home/gitlab-runner/builds/....'...
Host key verification failed.
```
Нужно сгенерировать ключ для пользователя gitlab-runner - [инструкция по генерации](https://docs.gitlab.com/ee/ci/ssh_keys/#ssh-keys-when-using-the-shell-executor)
Кому лень читать. Выполняем на хосте с ранером
```
sudo su - gitlab-runner
ssh-keygen -t ed25519 -C "gitlab-runner-ansible"
#sign in to the remote server to accept the fingerprint
ssh gitlab.intecracy.com # набрать yes Enter; пароль вводить не нужно - просто Ctrl+C
cat .ssh/id_ed25519.pub # это наш ключ
```
Добавляем ключ как Deploy Key в гитлаб
В основной репе:
- Settings -> Repository -> Deploy Keys
- Водим имя (gitlab_runner_ansible) и вставлем публичный ключ в поле Key
Для каждой субрепы:
- Settings -> Repository -> Deploy Keys
- вкладка `Privately accessible deploy keys` -> Enable
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment