You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

5.1 KiB

MockGUI

Обертка над mock для организации графического интерфейса сборки RPM пакетов

Главный экран MockGUI

Где можно запустить

ПО может быть установлено на следующих ОС:

MSVSphere 9 Almalinux 9 RockyLinux 9 Centos 9 Stream

Требования к системе:

Минимальные требования
CPU 1 ядро
Memory Зависит от собираемых исходников, для небольших проектов 2Гб
HDD размер исходных кодов * 4

Установка

ansible + root

dnf install epel-release
dnf install ansible git
git clone https://dev.brepo.ru/brepo/mock-gui.git
cd mock-gui/install
ansible-galaxy install -r requirements.yml
ansible-playbook mock-gui-install.yml --ask-become-pass
перезагрузить систему
systemctl enable mockgui
systemctl start mockgui
зайти под пользователем mockgui в каталог /home/mockgui/mock-gui/gen-scripts и выполнить команду:
./install-key UserName UserEmail 316224000 StrongSignPassword

где UserName - имя пользователя ключа, UserEmail - email пользователя ключа, 316224000 - время действия ключа в секундах, StrongSignPassword - пароль для ключа

ansible + пользователь в sudo

sudo dnf install epel-release
sudo dnf install ansible git
git clone https://dev.brepo.ru/brepo/mock-gui.git
cd mock-gui/install
ansible-galaxy install -r requirements.yml
ansible-playbook mock-gui-install.yml --ask-become-pass
перезагрузить систему
sudo systemctl enable mockgui
sudo systemctl start mockgui
зайти под пользователем mockgui в каталог /home/mockgui/mock-gui/gen-scripts и выполнить команду:
./install-key UserName UserEmail 316224000 StrongSignPassword

где UserName - имя пользователя ключа, UserEmail - email пользователя ключа, 316224000 - время действия ключа в секундах, StrongSignPassword - пароль для ключа

Ручная установка

Команды ниже выполнять под root или привилегированным пользователем с sudo:

  1. отключить selinux
  2. systemctl stop firewalld
  3. systemctl disable firewalld
  4. systemctl stop nftables
  5. systemctl disable nftables
  6. useradd mockgui

Добавить репозиторий:

# cat /etc/yum.repos.d/brepo_projects.repo
[brepo_projects]
name=msvsphere9 repo on repo.brepo.ru
baseurl=https://repo.brepo.ru/hestia/
enabled=1
gpgkey=https://repo.brepo.ru/hestia/brepo_projects-gpg-key
gpgcheck=1

Далее:

  1. dnf install epel-release
  2. dnf install mock rpmdevtools rpm-build ccache rpm-sign sqlite sqlite-devel alt-brepo-ruby33 openssh-server git tar gcc gcc-c++ make cmake alt-brepo-ruby33-devel openssl-devel zlib-devel
  3. usermod -a -G mock mockgui

добавить в .bashrc root и mockgui строки: export PATH=/usr/lib64/ccache:$PATH

Команды ниже выполнять под пользователем mockgui:

  1. cd ~
  2. git clone https://dev.brepo.ru/brepo/mock-gui.git
  3. cd mock-gui
  4. /opt/brepo/ruby33/bin/bundle install
  5. /opt/brepo/ruby33/bin/bundle exec sequel -m db/migrations sqlite://db/workbase.sqlite3
  6. cd gen-scripts
  7. ./install-key UserName UserEmail 316224000 StrongSignPassword

где UserName - имя пользователя ключа, UserEmail - email пользователя ключа, 316224000 - время действия ключа в секундах, StrongSignPassword - пароль для ключа

Следующая команда от root:

  1. cp /home/mockgui/mock-gui/mockgui.service /etc/systemd/system/mockgui.service
  2. systemctl enable mockgui.service --now

Запуск без сервиса

Подготовка базы данных(делается один раз):

/opt/brepo/ruby33/bin/bundle exec sequel -m db/migrations sqlite://db/workbase.sqlite3

Запуск приложения

/opt/brepo/ruby33/bin/bundle exec /opt/brepo/ruby33/bin/ruby app.rb

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

Открыть в браузере страницу:

http://[ip]:8081

Документация

OnLine

Сборка локальной докумнтации

cd docs/mock-gui
pip install mkdocs
pip install markupsafe==2.0.1
pip install mkdocs-bootstrap

Локальный сервер:

mkdocs serve

Или статическая документация:

mkdocs build