Система управления сборкой 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 Berezhok d50ee1a708
Fix include additional repos error
2 months ago
.bundle Initial commit 11 months ago
classes Fix include additional repos error 2 months ago
db/migrations Added projects with tmp builds 2 months ago
docs/mock-gui Added documentation changes 2 months ago
gen-scripts Sign. Part 1 10 months ago
install Added docs 10 months ago
keys Remove file 10 months ago
locallibs/ruby-rpm-ffi mock build 10 months ago
locks Added mock build. Part 4 10 months ago
logs Sign. Part 3 10 months ago
projects Added fixes 10 months ago
public Project edit 10 months ago
repo Added fixes 10 months ago
repoview Added new repoview 2 months ago
views Added projects with tmp builds 2 months ago
.gitignore Added fixes 10 months ago
Gemfile Added projects with tmp builds 2 months ago
Gemfile.lock Added projects with tmp builds 2 months ago
LICENSE Change license from GPL to MIT 10 months ago
README.md Fixed readme 2 months ago
VERSION Added vesrion info 2 months ago
app.rb Added projects with tmp builds 2 months ago
config.ini Sign part 2 10 months ago
mockgui.service Added service changes 10 months 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