1

В преддверии новогодних каникул предлагаю вернуться к этому вопросу.

Как это вижу я:
* Все действо происходит в systemd-nspawn контейнере
* Используем сразу Python 3
* Веб-приложение на Tornado (асинхронное), чтобы в реал-тайме можно было мониторить лог сборки и/или ожидание очереди
* Сборка запускается как баш-скрипт из питона через subprocess.call в выводом лога в текстовый файл
* С использованием pyinotify файл лога мониторится и выводится в веб при наличии изменений, плюс сохраняется в бд
* Сборка проходит в порядке очереди в отдельном процессе
* Максимальное кол-во одновременно собираемых пакетов думаю стоит обсудить заранее. По сути, если сборка каждого пакета в отдельном процессе, это же и лимит процессов для multiprocessing.Pool

* Давать пользователям самостоятельно генерировать окружения с mageia смысла не вижу, вместо этого пусть используются готовый набор таррболов, который нагенерим заранее сами
* Авторизация по OpenID (от гугла, например)

В качестве БД или PostgreSQL или MongoDB. Мне, в принципе, без разницы.

Fedora & GNOME

2

В очередной раз я всеми вруками за.

MXLinux 19.3 - xfce
Чем больше я работаю админом, тем больше понимаю,
насколько волшебна фраза - "Нет технической возможности!"

==============================================

3

XliN, напиши плз характеристики сервера. Давай сразу прикинем сколько одновременных сборок пакетов сможем потянуть.

Fedora & GNOME

4

Можете рассчитывать на мою помощь. У нас даже были наработки веб-интерфейса. Просто как-то заглохло по причине отсутствия подробной информации.

Мечемся, как меченые, ищем, где ветер дует
И смеёмся до тех пор, пока никто не умер (с)

Asus P8H61 | Intel Pentium G840 2.80 GHz s1155 | DDR III 8 Gb x 2шт 1866 Mhz PC-14900 G.Skill Ripjaws X series | SSD Kingston HyperX 3K 120GB 2.5" SATAIII | Asus PCI-Ex GeForce GT 440 1024MB GDDR5 (128bit) | Fedora 28 x64 | xfce4 | Java | OracleDB

5

chapaev⇓ пишет:

Просто как-то заглохло по причине отсутствия подробной информации.

Камень в мой огород. Сорян. Последнее время не по детски занят (((

Так. Касаемо сервера. Можно ядера 2-4 сделать

Spoiler

Консоль
processor       : 15
vendor_id       : GenuineIntel
cpu family      : 6
model           : 44
model name      : Intel(R) Xeon(R) CPU           E5620  @ 2.40GHz
stepping        : 2
microcode       : 19
cpu MHz         : 1600.000
cache size      : 12288 KB
physical id     : 1
siblings        : 8
core id         : 10
cpu cores       : 4
apicid          : 53
initial apicid  : 53
fpu             : yes
fpu_exception   : yes
cpuid level     : 11
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov                                                                                                                                                              pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdt                                                                                                                                                             scp lm constant_tsc arch_perfmon pebs bts rep_good xtopology nonstop_tsc aperfmp                                                                                                                                                             erf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4                                                                                                                                                             _1 sse4_2 popcnt lahf_lm ida arat epb dts tpr_shadow vnmi flexpriority ept vpid
bogomips        : 4799.88
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management:

Оперативочка вот в обрез. Тоже 2 -4. С местом около 500 гиг.

MXLinux 19.3 - xfce
Чем больше я работаю админом, тем больше понимаю,
насколько волшебна фраза - "Нет технической возможности!"

==============================================

6

По трафику есть ограничение?
По скольку сборка должна проходить в чистом окружении, оно будет на лету локально в отдельном каталоге для каждой сборки создаваться. В него, соответственно, нужно будет каждый раз ставить rpm, basesystem-minimal и rpmbuild.

Если канал интернета позволяет и нет ограничения по трафику, то можно использовать оф репозиторий по интернету и не париться. С другой стороны, можно сделать зеркало оф репозитория и тогда это будет экономить время на стадии установки зависимостей.

Fedora & GNOME

7

XliN, под сборку будет отдельная виртуалка или в той же, где сайт и репозиторий крутятся?
Если в той же, тогда, думаю, надо будет у контейнера что-то вроде CPUQuota=70% задействовать, чтобы сайт и репу не подвешивало.

Fedora & GNOME

8

xxblx, Отдельная будет. Не хочу все в одну кучу пихать. Ограничения по трафику нет. Около 50 мегабит.

MXLinux 19.3 - xfce
Чем больше я работаю админом, тем больше понимаю,
насколько волшебна фраза - "Нет технической возможности!"

==============================================

9

Учитывая неактуальность поддержки собственного репозитория из-за появления отличных сторонних альтернатив, предлагаю переименовать раздел форума по репозиторию просто на сборку пакетов и вопросов по сборке, а также пересортировать темы там.

Разработчик, мейнтейнер, переводчик, по всем вопросам.

10

AlexL⇓ пишет:

предлагаю переименовать раздел форума по репозиторию просто на сборку пакетов и вопросов по сборке, а также пересортировать темы там.

Согласен. Сможешь сделать?

Меня тут нет!

11

sevo44, сделал.

Разработчик, мейнтейнер, переводчик, по всем вопросам.

12

AlexL, Супер! Спасибо.

Меня тут нет!