Оглавление | Статьи по теме |
Эта инструкция для тех, кто получил нужные доступы и подготовил окружение для работы, но ещё не скачал и ни разу не запустил исходный код.
В этой статье мы получим доступ к репозиторию с кодом, скачаем его и запустим локально у себя все сервисы.
Требования:
Чтобы загружать исходники из репозитория и выгружать изменения в него, требуется авторизация. Есть два варианта:
Мы пойдём вторым путем, т.к. он в конечном итоге более удобный и безопасный (хоть и чуть менее очевидный) |
Создаём 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----- |
Внимание: ключи выше используются лишь для примера. Ни в коем случае не пытайтесь использовать любой из них!
Чтобы авторизоваться с помощью свежесозданного приватного ключа на гитлабе, тебе надо привязать публичный ключ к аккаунту гитлаба. Делается это следующим образом:


Definition of done: Попробуй выполнить у себя команду
ssh -i ~/.ssh/gitlab git@gitlab.com |
Если всё хорошо - получишь ответ как на картинке:

Ты, наверное, заметил, как в прошлой команде нам пришлось явно указать, какой именно ssh-ключ указывать.
При использовании git'а это страшно неудобно, поэтому укажем автоматическое использование свежесозданного ключа для подключения к гитлабу в конфигурационном файле.
Для этого открой файл ~/.ssh/config и отредактируй его содержимое согласно инструкции:

Definition of done: Попробуй выполнить у себя команду
ssh gitlab.com |
Если всё хорошо - получишь ответ как на картинке:

Переместись в свою домашнюю директорию и выполни команду
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 |
Хуки git - это особые действия, которые выполняются перед коммитом. В нашем случае это проверки кодстайла и автоформатирование, они очень полезны и помогают держать код чуть более чистым.
Чтобы активировать хуки, перейди в папку склонированного репозитория и выполни команду:
cd stfpmi-master ./utils/setup-git-hooks.sh |
Кроме того, в папке utils находится несколько достаточно полезных скриптов, их можно изучить)