LINUX.ORG.RU

CMS в деплой и домашняя поделка

 ,


0

2

Всем привет!

В общем, есть некий бекенд, который делает основную функцию на расте, вокруг есть куча страниц, которые в целом особо на главную функцию не влияют. И вот пришла мысль, вдруг кто-то делал такое раньше?!

Мы берем и устанавливаем CMS, в ней делаем страницу с основной функцией, а остальные можно редактировать через CMS. После деплоя по средствам CI\CD все разворачивается на сервере. Все это:

  • Бекенд на расте
  • PostgreSQL для бека на расте
  • CMS
  • БД для CMS (может таже самая)

Вопрос как запускать на локальной машине такое поделие? Как интегрировать регистрацию \ логин. И вообще сделать связь между зареганными функциями и их данными на стороне раста. Стоит ли выкинуть раст и просто взять какой-то готовый конструктор типа Django?

p.s. Опыта в вебне нет, по этому извращаюсь.

★★★★

Для чего вообще у тебя разделен основной сайт на CMS и какой-то бекэнд на расте? А то как-то не понятно, как на твой вопрос отвечать

Aswed ★★★★★
()

Пальцем в небо: на CMS делаешь регистрацию и логин, а бекенд и CMS используют один и тот же токен из хедеров, для определения какой это юзер. База юзеров естессно должна быть общей или регулярно синхронизироваться

Aswed ★★★★★
()

Стоит ли выкинуть раст и просто взять какой-то готовый конструктор типа Django?

ИМХО делать сервер для бизнес логики на компилируемом языке в принципе плохая идея. Та же джанга больше подойдет. Если джанга слишком жирная, есть Flask, Fast API и прочие

Aswed ★★★★★
()

Вообще все что разрабатывается, должно запускается на машине разработчика через docker. И далее в рабочей середе у тебя должно быть что-то из swarm/kubernates/openshift в которое эти оттестированные образы деплоятся. Если планируется cd, то собственно образы собираются на дев контуре и далее транспортируется в регистры по месту дислокации и там деплоятся уже в систему.

Serbis
()

ИМХО минимальный процесс для разработки маленьких проектов такой. На рабочей машине ты разрабатываешь, тестируешь все через докер. Далее ты код заливаешь в репозиторий, оттуда он перетекает в CD, в ней собирается образ и заливается в регистр. А из него по вебхуку или скрипту все деплоится в сварм.

Serbis
()
Ответ на: комментарий от Aswed

Рекламные странички онлайн школы на CMS и всякого рода видео и интерактивные тесты на русте

AntonyRF ★★★★
() автор топика
Ответ на: комментарий от Aswed

Никогда не использовал, но спс, почитаю

AntonyRF ★★★★
() автор топика
Ответ на: комментарий от meliafaro

Сорри, пока по заграницам ездил свой родной и могучий стал забывать

AntonyRF ★★★★
() автор топика
Ответ на: комментарий от anonymous-angler

Эм, зачем он если есть кубер? Но вопрос все равно не про это

AntonyRF ★★★★
() автор топика
Ответ на: комментарий от AntonyRF

Если у тебя раст сервер чисто для интерактивных тестов, то зачем там вообще база? В смысле ты же можешь туда все входные данные передать в запросе. Тип сходил клиент к тебе в CMS -> CMS делает запрос в движок тестов со всей необходимой инфой в параметрах. Так тебе не придется заниматься синхронизацией баз сервисов. Учитывая, что у тебя движок тестов по сути выполняет на себе произвольный код, изолировать его от базы хорошая идея

Aswed ★★★★★
()
Последнее исправление: Aswed (всего исправлений: 1)
Ответ на: комментарий от Aswed

Эм, ну вообще смысл был в том, что отображается короткое видео из БД, а потом вопросник по видео и у каждого пользователя свой прогресс. Как слежение за прогрессом обучения сделать с отвязанным раст бекендом - не очень понимаю

AntonyRF ★★★★
() автор топика
Ответ на: комментарий от AntonyRF

Аа, я думал, что там какая-то песочница из числодробилок крутится. В таком же случае я все еще считаю, что это не надо делать на расте. Запили все на джанге

Aswed ★★★★★
()
Ответ на: комментарий от Aswed

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

Сейчас посмотрю как чужие регистрации можно соединить с актиксовыми и может что-то в голову придет

AntonyRF ★★★★
() автор топика
Ответ на: комментарий от q0tw4

Да в целом весь веб через одно место сделан ополоумевшими школьниками

AntonyRF ★★★★
() автор топика
Ответ на: комментарий от Serbis

Сорри за оффтоп, но отписаться в теме не могу (по понятным причинам)

Можно ли как-то понять, что является причиной выхода машины из спящего режима?

вот пример из dmesg(? точно не помню), как такое выглядит из ядра

Apr 23 03:17:16 localhost kernel: [ 3038.224006] PM: suspend entry (deep)
Apr 23 03:17:16 localhost kernel: [ 3038.224014] PM: Syncing filesystems ... done.
Apr 23 03:17:16 localhost kernel: [ 3038.225602] Freezing user space processes ... (elapsed 0.001 seconds) done.
Apr 23 03:17:16 localhost kernel: [ 3038.227416] OOM killer disabled.
Apr 23 03:17:16 localhost kernel: [ 3038.227418] Freezing remaining freezable tasks ... (elapsed 0.001 seconds) done.
Apr 23 03:17:16 localhost kernel: [ 3038.228681] Suspending console(s) (use no_console_suspend to debug)
Apr 23 03:17:16 localhost kernel: [ 3038.255989] serial 00:06: disabled
Apr 23 03:17:16 localhost kernel: [ 3038.256168] serial 00:05: disabled
Apr 23 03:17:16 localhost kernel: [ 3038.256396] parport_pc 00:03: disabled
Apr 23 03:17:16 localhost kernel: [ 3038.262572] sd 2:0:0:0: [sda] Synchronizing SCSI cache
Apr 23 03:17:16 localhost kernel: [ 3038.358560] ACPI: Preparing to enter system sleep state S3
Apr 23 03:17:16 localhost kernel: [ 3038.567071] PM: Saving platform NVS memory
Apr 23 03:17:16 localhost kernel: [ 3038.567093] Disabling non-boot CPUs ...
Apr 23 03:17:16 localhost kernel: [ 3038.584083] smpboot: CPU 1 is now offline
Apr 23 03:17:16 localhost kernel: [ 3038.587615] ACPI: Low-level resume complete
Apr 23 03:17:16 localhost kernel: [ 3038.587689] PM: Restoring platform NVS memory
Apr 23 03:17:16 localhost kernel: [ 3038.588159] Enabling non-boot CPUs ...
Apr 23 03:17:16 localhost kernel: [ 3038.588216] x86: Booting SMP configuration:
Apr 23 03:17:16 localhost kernel: [ 3038.588218] smpboot: Booting Node 0 Processor 1 APIC 0x2
Apr 23 03:17:16 localhost kernel: [ 3038.588523]  cache: parent cpu1 should not be sleeping
Apr 23 03:17:16 localhost kernel: [ 3038.588817] CPU1 is up
Apr 23 03:17:16 localhost kernel: [ 3038.589027] ACPI: Waking up from system sleep state S3
Apr 23 03:17:16 localhost kernel: [ 3038.614475] parport_pc 00:03: activated
Apr 23 03:17:16 localhost kernel: [ 3038.615725] serial 00:05: activated
Apr 23 03:17:16 localhost kernel: [ 3038.616896] serial 00:06: activated
Apr 23 03:17:16 localhost kernel: [ 3038.935697] usb 1-4.1: reset high-speed USB device number 3 using xhci_hcd
Apr 23 03:17:16 localhost kernel: [ 3038.953743] ata1: SATA link down (SStatus 0 SControl 300)
Apr 23 03:17:16 localhost kernel: [ 3038.954914] ata2: SATA link down (SStatus 0 SControl 300)
Apr 23 03:17:16 localhost kernel: [ 3039.040805] acpi LNXPOWER:02: Turning OFF
Apr 23 03:17:16 localhost kernel: [ 3039.040945] acpi LNXPOWER:01: Turning OFF
Apr 23 03:17:16 localhost kernel: [ 3039.041029] acpi LNXPOWER:00: Turning OFF
Apr 23 03:17:16 localhost kernel: [ 3039.041067] OOM killer enabled.
Apr 23 03:17:16 localhost kernel: [ 3039.041072] Restarting tasks ... 
Apr 23 03:17:16 localhost kernel: [ 3039.066642] usb 1-4.1: USB disconnect, device number 3
Apr 23 03:17:16 localhost kernel: [ 3039.103581] done.
Apr 23 03:17:16 localhost kernel: [ 3039.103731] video LNXVIDEO:00: Restoring backlight state
Apr 23 03:17:16 localhost kernel: [ 3039.103747] PM: suspend exit

были ещё какие-то глюки с USB – тоже временами не даёт уснуть, сейчас не найду куда сохранил(?)…

Зачем та портянка?

Образец для для начала поиска источника проблем

Удачи!

anonymous
()
Ответ на: комментарий от AntonyRF

отображается короткое видео из БД, а потом вопросник по видео и у каждого пользователя свой прогресс

Пардон, тебе для этого нужен постгрес? В мое время это делали одним бинарником, захощенном по CGI, который читал-писал файлы на файловой системе. Собственно, до сих пор делают. Не обязательно использовать Fossil, чтобы хранить данные в базе SQLite.

Что тут началось в треде? Docker-compose, Kubernetes... вы же пошутили, да? Ха-ха — посмеялись вы, посмеялся я, хорошая шутка.

byko3y ★★★★
()
Ответ на: комментарий от korvin_

ИМХО делать сервер для бизнес логики на компилируемом языке в принципе плохая идея.

Это ещё почему?

Известно почему — потому что все делают на интерпретируемых. И ты делай. Самый умный, что ли?

byko3y ★★★★
()
Ответ на: комментарий от byko3y

Собственно, до сих пор делают.

О, возможно то что нужно

AntonyRF ★★★★
() автор топика
Последнее исправление: AntonyRF (всего исправлений: 1)
Ответ на: комментарий от korvin_

Во-первых, потому что бизнес логика часто меняется и подстраиваться под эти изменения с интерпретируемыми проще ввиду большей их гибкости интерпретируемых.

Во-вторых, ввиду их большей выразительности кода для описания этой самой бизнес логики получается меньше.

В-третьих, проще поправить какой-нибудь оч критичный баг «на горячую». Зашел на сервер по ssh и поменял проблемный код. С компилируемыми понадобится больше времени.

В-четвертых, интерпретируемые языки предоставляют больше средств для контроля того, что происходит на сервере. Та же django позволяет запустить на сервере шелл, в котором ты можешь ходить в базу используя ORM и смотреть/изменять данные максимально близко к тому, как они используются в коде, запускать таски или какие-нибудь мелкие скрипты, использующие кодовую базу приложения прям на месте. Компилируемые языки дают гораздо меньше такой свободы.

ИМХО в вебе компилируемые языки являются хорошим решением только для сервисов которые редко меняются или для отдельных участков критичных к производительности.

Aswed ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.