Инструкция проведёт от регистрации до работающей автоматической сборки. Понадобится браузер и установленный на компьютере Git. Всё описанное помещается в бесплатный тариф.
Создайте аккаунт и защитите его
Откройте сайт GitLab и зарегистрируйтесь по адресу электронной почты. Имя пользователя станет частью адресов ваших проектов, поэтому выбирайте короткое и понятное — менять его потом неудобно.
Сразу после входа зайдите в настройки учётной записи и включите двухфакторную защиту. Сервис предложит привязать приложение-генератор кодов и покажет список запасных кодов — сохраните их отдельно, они помогут войти, если телефон потеряется.
Заведите проект
Нажмите кнопку создания нового проекта. Сервис предложит несколько путей:
- пустой проект — если начинаете с нуля;
- импорт — если переносите репозиторий из другого сервиса хранения кода;
- из шаблона — заготовка со структурой папок под конкретный язык.
Укажите название и уровень видимости. Закрытый проект виден только вам и приглашённым участникам, открытый — всем. Поставьте галочку создания файла с описанием проекта: без него репозиторий будет пустым и его неудобно копировать.
Добавьте SSH-ключ
Чтобы отправлять код без ввода пароля при каждой операции, добавьте в профиль открытый SSH-ключ. Если ключа ещё нет, создайте его в терминале или в Git Bash на Windows:
ssh-keygen -t ed25519 -C "pochta@example.com"
Команда задаст пару вопросов и создаст два файла в папке .ssh вашего пользователя. Нужен тот, что заканчивается на .pub, — это открытая часть ключа. Откройте его любым текстовым редактором, скопируйте содержимое целиком и вставьте в настройках профиля GitLab в разделе про SSH-ключи.
Скопируйте проект и отправьте первый коммит
На странице проекта нажмите кнопку клонирования и скопируйте адрес для SSH. Затем в терминале выполните команды: первая скачивает проект, остальные — отправляют ваши изменения.
git clone git@gitlab.com:имя-пользователя/проект.git
cd проект
git add .
git commit -m "Первые файлы проекта"
git push
При первом подключении по SSH терминал спросит, доверяете ли вы серверу, — ответьте утвердительно. После отправки обновите страницу проекта в браузере: файлы и запись об изменении появятся там.
Поработайте через ветку и запрос на слияние
Правки в командной работе не отправляют прямо в основную ветку. Создайте отдельную ветку, внесите изменения и отправьте её:
git checkout -b pravka-teksta
git commit -am "Поправить текст на главной"
git push -u origin pravka-teksta
GitLab ответит ссылкой на создание запроса на слияние — откройте её. В запросе видно, что именно изменилось: добавленные строки зелёным, удалённые красным. Участники проекта могут оставить замечание к любой строке. Когда всё согласовано, нажмите кнопку слияния — изменения попадут в основную ветку.
Чтобы в основную ветку нельзя было отправить код напрямую, в настройках проекта найдите раздел про защищённые ветки и запретите прямую отправку. Тогда любой правке придётся пройти через проверку.
Включите автоматическую сборку
Положите в корень репозитория файл .gitlab-ci.yml. Он описывает этапы и команды, которые GitLab выполнит после каждой отправки кода. Самый простой пример — один этап проверки:
stages:
- test
check:
stage: test
image: node:22
script:
- npm ci
- npm test
Отправьте файл в репозиторий и откройте в проекте раздел с конвейерами. Там появится запись о запуске: зелёная галочка означает, что команды выполнились без ошибок, красный крест — что проверка упала, и в журнале видно, на какой строке. Результат проверки показывается прямо в запросе на слияние, поэтому сломанный код сложнее принять по невнимательности.
Готово: проект заведён, код отправляется с компьютера по ключу, правки проходят через проверку, а тесты запускаются сами.
Если что-то пошло не так
При отправке кода отказано в доступе
Чаще всего не добавлен или не тот SSH-ключ. Проверьте, что в профиль вставлено содержимое файла с расширением .pub, и что проект вы клонировали по адресу для SSH, а не для HTTPS. Проверить связь можно командой ssh -T git@gitlab.com — в ответ должно прийти приветствие с вашим именем пользователя.
Конвейер не запускается
Убедитесь, что файл лежит в корне репозитория и называется ровно .gitlab-ci.yml. В разделе с конвейерами есть встроенная проверка синтаксиса — она покажет ошибку в отступах. Ещё причина: закончились бесплатные минуты сборок на общих исполнителях.
Запрос на слияние нельзя принять
Либо не выполнены условия защищённой ветки (нет нужного одобрения или упали проверки), либо возник конфликт с основной веткой. Конфликт решается на компьютере: подтяните основную ветку, разберите спорные места в файлах и отправьте заново.
Не приходят письма от сервиса
Проверьте папку со спамом и адрес в настройках профиля: пока почта не подтверждена, часть уведомлений не отправляется. В настройках уведомлений можно отдельно задать уровень оповещений по каждому проекту.
Комментарии · 0
Комментариев пока нет — задайте вопрос первым.