Skip to content

Latest commit

 

History

History
154 lines (108 loc) · 6.74 KB

README_RU.md

File metadata and controls

154 lines (108 loc) · 6.74 KB

Генератор лицензий GitLab

English

Описание

GitLab License Generator Этот проект генерирует лицензию GitLab для целей разработки. Если у вас возникнут какие-либо проблемы, пожалуйста, устраните их самостоятельно.

Последнее тестирование.

Принципы

src/generator.keys.rb

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

src/generator.license.rb

Папка lib извлекается из исходного кода GitLab. Она используется для сборки и проверки лицензии. Скрипт src/generator.license.rb загружает эту функциональность.

src/scan.features.rb

Функции извлекаются из объекта, заполненного константами. Самый полный план лицензии — Ultimate, но такие функции, как Geo Mirroring, не включены ни в один стандартный план. Поэтому мы вручную добавляем эти функции.

Использование

Предпосылки

Перед началом убедитесь, что ваша среда правильно настроена.

1. Установите Ruby и gem

Для запуска этого проекта вам понадобится Ruby и менеджер пакетов gem.

  • В Linux (Ubuntu/Debian):

    sudo apt update
    sudo apt install ruby-full
  • На macOS (через Homebrew):

    brew install ruby

2. Установите Bundler и необходимые gems

После установки Ruby вам необходимо установить Bundler для управления зависимостями Ruby.

gem install bundler

3. Установите gem gitlab-license

Для проекта требуется gem gitlab-license, который будет автоматически загружен и использован скриптом.

gem install gitlab-license

Шаги по созданию лицензии GitLab

1. Клонируйте репозиторий проекта

Скопируйте этот проект на свой локальный компьютер.

git clone https://github.com/Lakr233/GitLab-License-Generator.git
cd GitLab-License-Generator

2. Запустите скрипт make.sh

После выполнения всех предварительных условий запустите скрипт:

./make.sh

Скрипт выполнит следующие действия:

  • Загрузит и распакует gem-файл gitlab-license.
  • Скопирует и изменит необходимые файлы.
  • Клонирует исходный код GitLab с GitLab.com.
  • Сгенерирует пару открытого и закрытого ключей.
  • Создаст лицензию GitLab.

3. Замена открытого ключа в GitLab

Скрипт генерирует открытый ключ, расположенный в build/public.key. Вам необходимо заменить существующий открытый ключ GitLab на этот недавно сгенерированный, чтобы убедиться, что лицензия принята.

  • Если на вашем сервере установлен GitLab:

    sudo cp ./build/public.key /opt/gitlab/embedded/service/gitlab-rails/.license_encryption_key.pub
    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl restart
  • Если GitLab установлен через Docker: Измените файл docker-compose.yml, чтобы смонтировать новый открытый ключ внутрь контейнера:

    volumes:
      - "./build/public.key:/opt/gitlab/embedded/service/gitlab-rails/.license_encryption_key.pub"

    Затем перезапустите контейнер:

    docker-compose down
    docker-compose up -d

4. Установите лицензию в GitLab

После замены открытого ключа войдите в интерфейс администратора GitLab, чтобы установить сгенерированную лицензию.

  1. Войдите в GitLab как администратор.
  2. Перейдите в Admin Area из верхнего правого угла.
  3. Перейдите в Settings > General и загрузите сгенерированный файл лицензии (build/result.gitlab-license).
  4. Установите флажок Terms of Service и нажмите Add License.

При необходимости вы можете напрямую перейти на страницу загрузки лицензии через:

<YourGitLabURL>/admin/license/new

5. Отключить Service Ping (необязательно)

Если вы хотите отключить сбор данных об использовании GitLab (Service Ping), измените файл конфигурации GitLab:

  • Откройте файл конфигурации:

    sudo nano /etc/gitlab/gitlab.rb
  • Добавьте следующую строку:

    gitlab_rails['usage_ping_enabled'] = false
  • Перенастройте и перезапустите GitLab:

    sudo gitlab-ctl reconfigure
    sudo gitlab-ctl restart

Поиск неисправностей

  • Ошибка HTTP 502: Если вы столкнулись с этой ошибкой, дождитесь завершения запуска GitLab (это может занять некоторое время).

ЛИЦЕНЗИЯ

Данный проект лицензирован по WTFPL License.

Авторские права (c) 2023, Тим Кук, Все права не защищены.