diff --git a/docs/mock-gui/docs/img/mockgui_custombuild1.png b/docs/mock-gui/docs/img/mockgui_custombuild1.png new file mode 100644 index 0000000..3f60d65 Binary files /dev/null and b/docs/mock-gui/docs/img/mockgui_custombuild1.png differ diff --git a/docs/mock-gui/docs/img/mockgui_custombuild2.png b/docs/mock-gui/docs/img/mockgui_custombuild2.png new file mode 100644 index 0000000..ac330a3 Binary files /dev/null and b/docs/mock-gui/docs/img/mockgui_custombuild2.png differ diff --git a/docs/mock-gui/docs/img/mockgui_list10.png b/docs/mock-gui/docs/img/mockgui_list10.png new file mode 100644 index 0000000..217ba95 Binary files /dev/null and b/docs/mock-gui/docs/img/mockgui_list10.png differ diff --git a/docs/mock-gui/docs/img/mockgui_projects30.png b/docs/mock-gui/docs/img/mockgui_projects30.png new file mode 100644 index 0000000..605e8da Binary files /dev/null and b/docs/mock-gui/docs/img/mockgui_projects30.png differ diff --git a/docs/mock-gui/docs/img/mockgui_projects31.png b/docs/mock-gui/docs/img/mockgui_projects31.png new file mode 100644 index 0000000..48fed46 Binary files /dev/null and b/docs/mock-gui/docs/img/mockgui_projects31.png differ diff --git a/docs/mock-gui/docs/img/mockgui_projects5.png b/docs/mock-gui/docs/img/mockgui_projects5.png index faf4a4d..d36b86c 100644 Binary files a/docs/mock-gui/docs/img/mockgui_projects5.png and b/docs/mock-gui/docs/img/mockgui_projects5.png differ diff --git a/docs/mock-gui/docs/install.md b/docs/mock-gui/docs/install.md index 033f004..3f351d1 100644 --- a/docs/mock-gui/docs/install.md +++ b/docs/mock-gui/docs/install.md @@ -9,6 +9,7 @@ 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 +ansible-playbook docker_install.yml --ask-become-pass (если планируются сборки не только с помощью mock, но и с помощью docker) перезагрузить систему systemctl enable mockgui systemctl start mockgui @@ -29,6 +30,7 @@ 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 +ansible-playbook docker_install.yml --ask-become-pass (если планируются сборки не только с помощью mock, но и с помощью docker) перезагрузить систему sudo systemctl enable mockgui sudo systemctl start mockgui diff --git a/docs/mock-gui/docs/userguide/projects.md b/docs/mock-gui/docs/userguide/projects.md index 3ea9f33..2e885bf 100644 --- a/docs/mock-gui/docs/userguide/projects.md +++ b/docs/mock-gui/docs/userguide/projects.md @@ -35,7 +35,7 @@ Необходимо из выпадающего списка выбрать один - нажать кнопку "Добавить". Тк выглядит добавленный в проект новый git репозиторий. -![Добавленый репозиторий](../img/mockgui_projects6.png) +![Добавленый репозиторий](../img/mockgui_projects5.png) Пустые репозиторий без исходников добавить в проект нельзя! @@ -50,6 +50,19 @@ ![Линк на другой проект](../img/mockgui_projects8.png) +`Добавить бинарный пакет в репозиторий` - позволяет добавить rpm пакет собранный не в текущей сборочной системе в репозиторий. Например, если проект собирается в gitlab в рамках процесса CI/CD и потом может быть добавлен в репозиторий и опубликован. + +![Добавление стороннего rpm](../img/mockgui_projects30.png) + +Для добавления пакета необходимо или выбрать стандартный каталог, в который будет загружен пакет `Выберите каталог куда будет помещен файл:` или +ввести свое название каталога в поле `Создать новый каталог с именем (может быть пустым, если уже существует нужный каталог):` и в поле загрузки файла выбрать rpm файл. + +`Посмотреть список загруженных rpm пакетов` - позволяет получить список пакетов, которые были загруженны через меню `Добавить бинарный пакет в репозиторий` + +![Добавление стороннего rpm, просмотр списка пакетов](../img/mockgui_projects31.png) + +Система ведет учет загруженных сторонних пакетов, список пакетов позволяет выбрат пакет и просмотреть его седрежимое. + `Список всех пакетов` - список пакетов, собранных для данного проекта (неподписанных пакетов) ![Список пакетов](../img/mockgui_projects20.png) @@ -168,6 +181,48 @@ gpgcheck=1" > /etc/yum.repos.d/project_test1.repo * отобразить список сборок для проекта и текущего git репозитория +* в последней версии MockGUI появился дополнительный значек - задать нестандартную/кастомную сборку + +![Расширенный список действий](../img/mockgui_list10.png) + +Данный значек позволяет изменить процедуру сборки. На текущий момент, существуюи множестов систем сборки rpm пакетов, а так же проекты, которые собирают проект в docker без создания src.rpm файла, что затрудняет сборку с помощью mock который требует spec файл и подготвленные исходные файлы. +Елсли же проект собирается в докере и при завершении сборки может предоставить rpm файлы, то такой проект можно собрать с помощью кастомной сборки, пример такого проекта представлен ниже. + +![Кастомная сборка](../img/mockgui_custombuild1.png) + +Такой репозиторий добавлеятся как обычно, но потом на против репозитория необходимо нажать на значек `молоток`, откроется форма ввода: + +![Кастомная сборка](../img/mockgui_custombuild2.png) + +В открывшемся окне необходимо ввести имя скрипта, он будет создан в момент сборки и не должен совпадать с именем существующих файлов в проекте. +Так же необходимо ввести описание скрипта и непосредственнос сам код скрипта. + +Для примера: + +``` +#!/bin/bash + +RESULT="$1" +if [ -z "$RESULT" ]; then + exit 1 +fi + +bash -x package_preparer.sh prepare "almalinux:9" + +cp -r tmpbuild/*.* "${RESULT}/" +``` + +В первом параметре скрипту передается каталог, куда нужно сохранять собранные rpm пакеты и логи. Система из автоматом подхватит и положит в репозиторий. +Единственно важное замечание, данный скрипт работает в реальной сборочной системе, оэтому все что он сделает, затронет реальную систему, скрипт работает не в изоляции. Поэтому рекомендуется в скрипте запускать Docker контейнер и все манипуляции производить в контейнере и по завершению манипуляций удалять контейнер. + +Поэтому для поддержки такой опции в проекте есть скрипт установки Docker, для его запуска необходимо выполнить команду из корня проекта: + +``` +ansible-playbook install/docker_install.yml --ask-become-pass +``` + +Для того, чтоб проект отвязать от кастомной сборки, нужно на странице кастомной сборки нажать кнопку `Удалить` и в появившемся подтверждающем окне ввести имя скрипта, для подтверждения удаления. После этого гит проект будет отвязан он кастомной сборки и будет собираться в mock. + Если нажать на имя git репозитория в списке, то можно просмотреть его содержимое, т.е список файлов: ![Список файлов репозитория](../img/mockgui_projects14.png) \ No newline at end of file