You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 8 Next »


Эта инструкция для тех, кто получил нужные доступы и подготовил окружение для работы, но ещё не скачал и ни разу не запустил исходный код.

В этой статье мы получим доступ к репозиторию с кодом, скачаем его и запустим локально у себя все сервисы.


Требования:

  1. Аккаунт на gitlab.com и доступ к репозиторию https://gitlab.com/fpmi/stfpmi-master (если ссылка открывается и не ведёт на 404 - то доступ есть. Иначе - обращайся к Ivan Arkhipov )
  2. Установленный и готовый к работе Docker
  3. Установленная и готовая к работе VSCode

Шаг 1: Генерация ssh-ключа на Gitlab.com


Чтобы загружать исходники из репозитория и выгружать изменения в него, требуется авторизация.

Есть два варианта:

  1. Cгенерировать специальный токен (строчку), которую можно будет вводить как пароль 
  2. Сгенерировать ssh-ключ (это специальный файл) и привязать его к аккаунту на Gitlab (это позволит не вводить каждый раз логин/пароль на командах git push и git pull)

Мы пойдём вторым путем, т.к. он в конечном итоге более удобный и безопасный (хоть и чуть менее очевидный)

Создаём ssh-ключ:

Генерируем ключ на базе алгоритма ED25519 (считается более безопасным, чем RSA) и сохраняем в файлик ~/.ssh/gitlab с комментарием "My gitlab key"
При желании можно дополнительно защитить ключ паролем, но это необязательно.
Комментарий, как и путь для сохранения, можешь указывать какие больше нравятся (но рекомендуется всё же использовать папку ~/.ssh).

ssh-keygen -t ed25519 -C "My gitlab key" -f ~/.ssh/gitlab


После этого будут созданы файлы ~/.ssh/gitlab.pub и ~/.ssh/gitlab

Первый файл - это твой публичный ключ. Второй - это приватный ключ.


Публичный ключ используется для проверки подлинности данных, которые зашифрованы твоим приватным ключом. Его можно распространять без опаски.

Приватный ключ используется для шифрования данных и "подписывания" их. Его никогда и никуда нельзя заливать или распространять, он должен храниться только на твоём компьютере и нигде больше. Если кто-то получил твой приватный ключ - это равноценно тому, что кто-то получил твои пароль или подпись.

Публичный ключ выглядит, например, вот так:

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIH6/mRpV74Hb4gBnMSWA3R3mKpd+6Zy54TycUFrE/rc0 My gitlab key


Приватный ключ выглядит, например, вот так:

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACB+v5kaVe+B2+IAZzElgN0d5iqXfumcueE8nFBaxP63NAAAAJDARrPcwEaz
3AAAAAtzc2gtZWQyNTUxOQAAACB+v5kaVe+B2+IAZzElgN0d5iqXfumcueE8nFBaxP63NA
AAAEAIiRcGpAd8OfJDAKLs0eOHi8yRpV392Fh23Iee3brz+36/mRpV74Hb4gBnMSWA3R3m
Kpd+6Zy54TycUFrE/rc0AAAADU15IGdpdGxhYiBrZXk=
-----END OPENSSH PRIVATE KEY-----

Внимание: ключи выше используются лишь для примера. Ни в коем случае не пытайтесь использовать любой из них!

Шаг 2: Добавление ssh-ключа на Gitlab.com

Чтобы авторизоваться с помощью свежесозданного приватного ключа на гитлабе, тебе надо привязать публичный ключ к аккаунту гитлаба. Делается это следующим образом:

  1. Открой настройки профиля с помощью меню сверху:
  2. Выбери раздел SSH Keys в меню слева:
  3. Вставь свой публичный ключ и нажми кнопку "Add key":


Definition of done: Попробуй выполнить у себя команду 

ssh -i ~/.ssh/gitlab git@gitlab.com

Если всё хорошо - получишь ответ как на картинке:

Шаг 3: Добавление ssh-ключа в ~/.ssh/config

Ты, наверное, заметил, как в прошлой команде нам пришлось явно указать, какой именно ssh-ключ указывать.

При использовании git'а это страшно неудобно, поэтому укажем автоматическое использование свежесозданного ключа для подключения к гитлабу в конфигурационном файле.

Для этого открой файл ~/.ssh/config и отредактируй его содержимое согласно инструкции:


Definition of done: Попробуй выполнить у себя команду 

ssh gitlab.com

Если всё хорошо - получишь ответ как на картинке:


Шаг 4: Клонирование исходников

Переместись в свою домашнюю директорию и выполни команду

git clone git@gitlab.com:fpmi/stfpmi.master

Эта команда у тебя скачает исходники и сохранит их в папку stfpmi-master:

Не забудь указать своё имя и email (который соответствует твоему email'у на гитлабе) для коммитов git'а!

cd stfpmi-master
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
  • No labels