Перейти к содержанию

GitLab CE

gitlab

Присоединяйтесь к нашему Telegram-каналу, чтобы первыми узнавать о новостях, трендах и уникальных материалах по кибербезопасности!

1. Установка Docker

Убедитесь, что Docker установлен на вашем сервере:

sudo apt update  
sudo apt install -y docker.io  
sudo systemctl start docker  
sudo systemctl enable docker  

2. Развертывание GitLab CE

Запуск контейнера

docker run --detach \
  --hostname gitlab.example.com \
  --publish 443:443 --publish 80:80 --publish 22:22 \
  --name gitlab \
  --restart always \
  --volume /srv/gitlab/config:/etc/gitlab \
  --volume /srv/gitlab/logs:/var/log/gitlab \
  --volume /srv/gitlab/data:/var/opt/gitlab \
  gitlab/gitlab-ce:latest
  • --hostname — доменное имя сервиса.
  • --volume — директории для конфигурации, логов и данных.

3. Первичная настройка

  1. Перейдите в браузере по адресу: http://<IP_вашего_сервера>.
  2. Установите пароль для пользователя root.

Настройка SSL

Измените файл конфигурации /srv/gitlab/config/gitlab.rb:

external_url "https://gitlab.example.com"

Примените изменения:

docker exec -it gitlab gitlab-ctl reconfigure

4. Работа с репозиториями

Клонирование репозитория

git clone https://gitlab.example.com/root/demo-project.git

Добавление и пуш изменений

  1. Создайте новый файл:
echo "Hello, GitLab!" > README.md
  1. Добавьте его в индекс:
git add README.md
  1. Зафиксируйте изменения:
git commit -m "Добавлен README файл"
  1. Отправьте изменения в репозиторий:
git push origin main

Создание новой ветки

  1. Создайте ветку:
git checkout -b feature-branch
  1. Отправьте ветку в репозиторий:
git push origin feature-branch

Создание Merge Request

  1. Перейдите в GitLab -> Merge Requests.
  2. Нажмите New Merge Request и выберите ветку.

5. CI/CD в GitLab

Создание файла .gitlab-ci.yml

Пример простого пайплайна:

stages:
  - build
  - test

build_job:
  stage: build
  script:
    - echo "Сборка завершена"

test_job:
  stage: test
  script:
    - echo "Тесты пройдены"

Запуск пайплайна

  1. Зафиксируйте файл:
git add .gitlab-ci.yml
git commit -m "Добавлен CI/CD пайплайн"
git push origin main
  1. Проверьте выполнение во вкладке CI/CD -> Pipelines.

6. Полезные команды Docker

  • Просмотр списка контейнерров:
docker ps -a
  • Логи контейнера:
docker logs gitlab
  • Перезапуск контейнера:
docker restart gitlab
  • Удаление контейнера:
docker rm -f gitlab
  • Удаление образа:
docker rmi gitlab/gitlab-ce:latest

7. Полезные ссылки

  • Официальная документация GitLab: https://docs.gitlab.com/
  • Docker Hub для GitLab CE: https://hub.docker.com/r/gitlab/gitlab-ce