GitLab License Generator Этот проект генерирует лицензию GitLab для целей разработки. Если у вас возникнут какие-либо проблемы, пожалуйста, устраните их самостоятельно.
GitLab использует пару открытого/закрытого ключа для шифрования своей лицензии. Открытый ключ поставляется с дистрибутивом GitLab, а закрытый ключ хранится в безопасности. Сама лицензия представляет собой просто словарь JSON. Поскольку GitLab сделал свой код открытым, мы можем легко сгенерировать собственную лицензию.
Папка lib
извлекается из исходного кода GitLab. Она используется для сборки и проверки лицензии. Скрипт src/generator.license.rb
загружает эту функциональность.
Функции извлекаются из объекта, заполненного константами. Самый полный план лицензии — Ultimate, но такие функции, как Geo Mirroring, не включены ни в один стандартный план. Поэтому мы вручную добавляем эти функции.
Перед началом убедитесь, что ваша среда правильно настроена.
Для запуска этого проекта вам понадобится Ruby и менеджер пакетов gem.
-
В Linux (Ubuntu/Debian):
sudo apt update sudo apt install ruby-full
-
На macOS (через Homebrew):
brew install ruby
После установки Ruby вам необходимо установить Bundler для управления зависимостями Ruby.
gem install bundler
Для проекта требуется gem gitlab-license
, который будет автоматически загружен и использован скриптом.
gem install gitlab-license
Скопируйте этот проект на свой локальный компьютер.
git clone https://github.com/Lakr233/GitLab-License-Generator.git
cd GitLab-License-Generator
После выполнения всех предварительных условий запустите скрипт:
./make.sh
Скрипт выполнит следующие действия:
- Загрузит и распакует gem-файл
gitlab-license
. - Скопирует и изменит необходимые файлы.
- Клонирует исходный код GitLab с GitLab.com.
- Сгенерирует пару открытого и закрытого ключей.
- Создаст лицензию 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
После замены открытого ключа войдите в интерфейс администратора GitLab, чтобы установить сгенерированную лицензию.
- Войдите в GitLab как администратор.
- Перейдите в Admin Area из верхнего правого угла.
- Перейдите в Settings > General и загрузите сгенерированный файл лицензии (
build/result.gitlab-license
). - Установите флажок Terms of Service и нажмите Add License.
При необходимости вы можете напрямую перейти на страницу загрузки лицензии через:
<YourGitLabURL>/admin/license/new
Если вы хотите отключить сбор данных об использовании 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, Тим Кук, Все права не защищены.