Система управления сборкой rpm пакетов на базе mock+git
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.
 
 
 
 
 
alexey 3bb88d104e
Change license from GPL to MIT
2 days ago
.bundle Initial commit 2 months ago
classes Added pub key place 2 weeks ago
db/migrations Sign part 2 2 weeks ago
docs/mock-gui Spell fixes 3 days ago
gen-scripts Sign. Part 1 2 weeks ago
install Added docs 1 week ago
keys Remove file 2 weeks ago
locallibs/ruby-rpm-ffi mock build 3 weeks ago
locks Added mock build. Part 4 3 weeks ago
logs Sign. Part 3 2 weeks ago
projects Added fixes 2 weeks ago
public Project edit 4 weeks ago
repo Added fixes 2 weeks ago
repoview Added skip for repoview 3 days ago
views Fixes 2 weeks ago
.gitignore Added fixes 2 weeks ago
Gemfile Sign. Part 3 2 weeks ago
Gemfile.lock Sign. Part 3 2 weeks ago
LICENSE Change license from GPL to MIT 2 days ago
README.md Spell fixes 3 days ago
app.rb Added pub key place 2 weeks ago
config.ini Sign part 2 2 weeks ago
mockgui.service Added service changes 2 weeks ago

README.md

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