155 lines
5.1 KiB
Markdown
155 lines
5.1 KiB
Markdown
# MockGUI
|
||
|
||
Обертка над mock для организации графического интерфейса сборки RPM пакетов
|
||
|
||

|
||
|
||
## Где можно запустить
|
||
|
||
ПО может быть установлено на следующих ОС:
|
||
|
||
* 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`
|
||
7.
|
||
Добавить репозиторий:
|
||
```
|
||
# 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
|
||
```
|
||
Далее:
|
||
|
||
8. `dnf install epel-release`
|
||
9. `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`
|
||
10. `usermod -a -G mock mockgui`
|
||
11.
|
||
добавить в .bashrc root и mockgui строки:
|
||
`export PATH=/usr/lib64/ccache:$PATH`
|
||
|
||
Команды ниже выполнять под пользователем mockgui:
|
||
|
||
12. `cd ~`
|
||
13. `git clone https://dev.brepo.ru/brepo/mock-gui.git`
|
||
14. `cd mock-gui`
|
||
15. `/opt/brepo/ruby33/bin/bundle install`
|
||
16. `/opt/brepo/ruby33/bin/bundle exec sequel -m db/migrations sqlite://db/workbase.sqlite3`
|
||
17. `cd gen-scripts`
|
||
18. `./install-key UserName UserEmail 316224000 StrongSignPassword`
|
||
|
||
где UserName - имя пользователя ключа, UserEmail - email пользователя ключа, 316224000 - время действия ключа в секундах, StrongSignPassword - пароль для ключа
|
||
|
||
Следующая команда от root:
|
||
|
||
15. `cp /home/mockgui/mock-gui/mockgui.service /etc/systemd/system/mockgui.service`
|
||
16. `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](https://docs.brepo.ru/mockgui/)
|
||
|
||
### Сборка локальной докумнтации
|
||
|
||
```
|
||
cd docs/mock-gui
|
||
pip install mkdocs
|
||
pip install markupsafe==2.0.1
|
||
pip install mkdocs-bootstrap
|
||
```
|
||
|
||
Локальный сервер:
|
||
|
||
```
|
||
mkdocs serve
|
||
```
|
||
|
||
Или статическая документация:
|
||
|
||
```
|
||
mkdocs build
|
||
``` |