|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
UniGUI для меня абсолютно новый инструмент Да и развёртываете сервисов - не самая простая тема; тем более с базами данных Хотел поинтересоваться у тех, кто плотно с ним работает и периодически релизит проект Каким образом вы деплоите Делаете stand-alone или запускаете как сервис/демон, на какой ОС Что делаете с базой Есть ли инфраструктура по накату, откату Предлагает ли UniGUI что-то для этого ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 20:14 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
SOFT FOR YOU Каким образом вы деплоите Делаете stand-alone или запускаете как сервис/демон, на какой ОС Stand-alone или ISAPI на windows, Stand-alone + nginx на Linux. Что делаете с базойИспользуем. Есть ли инфраструктура по накату, откату Предлагает ли UniGUI что-то для этогоТам есть HyperServer для этого, но я пока не пользуюсь. http://www.unigui.com/doc/online_help/remote-deployment.htm ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 20:37 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
автоматическое обновление доступно в 2-х вариантах 1) isapi dll с загрузчиком, новый файл закидывается на сервер, загрузчик проверяет наличие новой версии и обновляет ее. Нюанс в том что в момент обновления идет дроп всех сессий. 2) через гиперсервер, все есть в доке. Плюс в том что на гипере можно спокойно обновлять, все кто работают будут продолжать работать с текущей версией приложения, новые клиенты загрузят себе уже новую версию приложения, т.е все аккуратно и корректно. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 21:31 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
rgreat, энди, Расскажите подробнее про гиперсервер Че может, как принято применять, почему не юзаете Что по базам? Не очень понятно по новым-старым приложениям Это же http, как могут быть доступны старые? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 21:46 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
SOFT FOR YOU Что по базам? базы данных не имею никакого отношения к uniGUI ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2021, 22:49 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
энди 2) через гиперсервер, все есть в доке. Плюс в том что на гипере можно спокойно обновлять, все кто работают будут продолжать работать с текущей версией приложения, новые клиенты загрузят себе уже новую версию приложения, т.е все аккуратно и корректно. Ибо обычно обновления включают в себя не только обновление бинарника, а потому работать нормально сможет либо только новая версия либо только старая, но не одновременно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2021, 00:01 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
defecator, Как и Delphi ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2021, 00:41 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
rgreat энди 2) через гиперсервер, все есть в доке. Плюс в том что на гипере можно спокойно обновлять, все кто работают будут продолжать работать с текущей версией приложения, новые клиенты загрузят себе уже новую версию приложения, т.е все аккуратно и корректно. Ибо обычно обновления включают в себя не только обновление бинарника, а потому работать нормально сможет либо только новая версия либо только старая, но не одновременно. Не всегда обновление версии приложения ведет к изменению структур данных, в большинстве случаев структура данных все же достаточно статична. У меня например все на хранимках и я часто делаю версионирование хранимки через имя, т.е оба бинарника будут превосходно работать одновременно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2021, 01:01 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
энди Не всегда обновление версии приложения ведет к изменению структур данных, в большинстве случаев структура данных все же достаточно статична. У меня например все на хранимках и я часто делаю версионирование хранимки через имя, т.е оба бинарника будут превосходно работать одновременно. Но это усложнение задачи и повышенные затраты сил, которые можно не делать если допустимо плановое окно. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2021, 01:29 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
У нас при изменении БД включаются 2 скрипта: скрипт доката, скрипт отката Но у нас легаси система Интересно, как принято работать сейчас Как апдейтят сайты И что у UniGUI по этому поводу есть ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2021, 01:47 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
SOFT FOR YOU У нас при изменении БД включаются 2 скрипта: скрипт доката, скрипт отката Но у нас легаси система Интересно, как принято работать сейчас Как апдейтят сайты И что у UniGUI по этому поводу есть А БД чтоли без поддержки транзакций? Ты не путай, unigui к БД не имеет ровным счетом никакого отношения, unigui это просто http сервак с встроенной библиотекой ExtJS. А уж где он будет данные брать ему пофигу, хочешь из json на диске читай, хочешь из БД тяни. Нет никакого сайта на unigui, считай это просто бинарник и все. Другое дело что этот бинарник может быть сервисом под винду, isapi библиотекой для IIS, exe для stand-alone или запуском под гиперсервером, да и под линукс тоже может. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2021, 12:57 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
энди Нет никакого сайта на unigui, считай это просто бинарник и все. А как же куча js, css, html и прочего jpg, ы? Там один рантайм юнигуя тысяч 10 файлов. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 00:00 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
Давайте ещё раз Технологий много Я раньше не деплоил «сайты». Или ты хочешь сказать, что подавляющее большинство UniGUI программеров не сайты делают? Я не вижу большой разницы между сайтом и http серваком с ExtJS Здесь спрашиваю потому, что ожидаю, что у вас есть опыт Далее Я не говорю, что UniGUI должен быть связан с БД. Но в современном мире трудно себе представить сайт, который не взаимодействует с базой. Соответственно её как-то нужно накатывать, откатывать. Вот я и спрашиваю, как в целом сейчас подходят к апдейтам, откатам сайтов. Если что-то есть в UniGUI - идеально ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 09:08 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
rgreat, Ну если подходить формально то этот рантам не что иное как сама ExtJS библиотека идущая в составе UniGUI и по факту не являющуюся ее частью. В свое время был кипеж когда на автора наехали из Сенчи и он был вынужден заставлять пользователей самих приобретать лицензию на ExtJS и продавал лицензию на UniGUI только при наличии оплаченной лицензии Сенчи. Плюс, рантайм ставится и больше к нему никаких обращений обычно все же не производится, все изменения в css как правило делаются отдельными файлами, а не насилием над файлами рантайма. Хотя мне в свое время для полной поддержки fontawesomе пришлось жестко вздрючить рантайм. А вообще, каждый сходит с ума по своему, у вас свои тараканы, у меня свои, лучше или хуже тут нет. :) SOFT FOR YOU, У меня обычно обновление проходит в виде накатывании обновы на БД (либо вторая копия БД), после чего через ftp заливается обновление для деплоя и все файлы нуждающиеся в обновлении на диске. Гипер подхватывает обновление exe и устанавливает его. Но если надо по серьезному, то надо делать фактически 2 сайта/проекта, накатывать на один из них, прогонять тесты, после чего переключать с одного сервера на другой. Но я так не заморачивался если честно, мне хватает отдельного сервера для разработки, а потом просто переношу изменения в БД на боевой сервер и деплою через ftp обновление файлов и главного модуля. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 11:55 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
энди rgreat, Ну если подходить формально то этот рантам не что иное как сама ExtJS библиотека идущая в составе UniGUI и по факту не являющуюся ее частью. В свое время был кипеж когда на автора наехали из Сенчи и он был вынужден заставлять пользователей самих приобретать лицензию на ExtJS и продавал лицензию на UniGUI только при наличии оплаченной лицензии Сенчи. Плюс, рантайм ставится и больше к нему никаких обращений обычно все же не производится, все изменения в css как правило делаются отдельными файлами, а не насилием над файлами рантайма. Хотя мне в свое время для полной поддержки fontawesomе пришлось жестко вздрючить рантайм. А вообще, каждый сходит с ума по своему, у вас свои тараканы, у меня свои, лучше или хуже тут нет. :) Нормальный сайт все одно имеет свои файлы кроме бинарника и рантайма. И их тоже надо иногда обновлять. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2021, 18:04 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
SOFT FOR YOU Я не говорю, что UniGUI должен быть связан с БД. Но в современном мире трудно себе представить сайт, который не взаимодействует с базой. Соответственно её как-то нужно накатывать, откатывать. Вот я и спрашиваю, как в целом сейчас подходят к апдейтам, откатам сайтов. Если что-то есть в UniGUI - идеально Всё зависит от требуемых "девяток" Если допустимо устроить "maintenance" - стопаете сервис, и апгрейдите базу с предварительным бекапом, проверками (если надо), приемочным тестированием и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2021, 08:06 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
rgreat энди rgreat, Ну если подходить формально то этот рантам не что иное как сама ExtJS библиотека идущая в составе UniGUI и по факту не являющуюся ее частью. В свое время был кипеж когда на автора наехали из Сенчи и он был вынужден заставлять пользователей самих приобретать лицензию на ExtJS и продавал лицензию на UniGUI только при наличии оплаченной лицензии Сенчи. Плюс, рантайм ставится и больше к нему никаких обращений обычно все же не производится, все изменения в css как правило делаются отдельными файлами, а не насилием над файлами рантайма. Хотя мне в свое время для полной поддержки fontawesomе пришлось жестко вздрючить рантайм. А вообще, каждый сходит с ума по своему, у вас свои тараканы, у меня свои, лучше или хуже тут нет. :) Нормальный сайт все одно имеет свои файлы кроме бинарника и рантайма. И их тоже надо иногда обновлять. А я наоборот стараюсь чтобы у меня небыло внешних файлов иконок и прочего, unigui начинает их кэшировать в каждой сессии + лишняя нагрузка на канал и сервер. У меня строго только рантайм + все иконки из пакета fontawesome ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2021, 08:44 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
энди А я наоборот стараюсь чтобы у меня небыло внешних файлов иконок и прочего, unigui начинает их кэшировать в каждой сессии + лишняя нагрузка на канал и сервер. Файлы по возможности должны лежать как файлы. ИМХО это более управляемо. У меня строго только рантайм + все иконки из пакета fontawesomeДаешь бинарник и DFM-ки размером в сотни мегов! ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.08.2021, 14:10 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
rgreat Дык не надо это все в бинарник зашивать, и не будет ничего кэшировать. Файлы по возможности должны лежать как файлы. Браузер будет кэшировать, я с этим помучился, особенно на мобильных браузерах. На десктопе есть Ctrl+F5/Shift+F5/Ctrl+Shift+R, а на мобильных смартфонах/планшетах как заставить браузер загрузить страницу без кэширования? Приходится к файлам добавлять спец. параметр с датой и временем. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 12:52 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
X11, Есть глобальное решение: Cache-Control: no-store Ы? Ну а в целом: если меняешь файл - меняй и его URL. А так у меня автоматом добавляется текущее время к списку files при загрузке сервера. Ну или можно CRC добавить. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 14:12 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
rgreat Cache-Control: no-store а можно подробнее в разрезе uniGUI? Кстати, знакомый веб-программер мучался (на вордпрессе) с этими разными параметрами и решениями, т.к. контент иной раз очень жестко кэшировался и ничего не помогало. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 18:03 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
rgreat А так у меня автоматом добавляется текущее время к списку files при загрузке сервера. что за список, это как оно там добавляется? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 18:04 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
Я к картинкам вот так добавляю Код: pascal 1. 2. 3. 4. 5. 6. 7.
для CastomCSS http://forums.unigui.com/index.php?/topic/14570-как-быть-с-кэшем-на-мобильных-браузерах/&tab=comments#comment-79355 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 18:06 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
X11, В TUniServerModule.UniGUIServerModuleCreate: Код: pascal 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 18:31 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
X11 а можно подробнее в разрезе uniGUI? Что-то типа: Код: pascal 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 18:37 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
X11 Браузер будет кэшировать, я с этим помучился, особенно на мобильных браузерах. На десктопе есть Ctrl+F5/Shift+F5/Ctrl+Shift+R, а на мобильных смартфонах/планшетах как заставить браузер загрузить страницу без кэширования? Приходится к файлам добавлять спец. параметр с датой и временем. зачем так гадить своему пользователю... зы в мобильных браузерах можно сбросить кеш ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 19:58 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
Дегтярев Евгений X11 Браузер будет кэшировать, я с этим помучился, особенно на мобильных браузерах. На десктопе есть Ctrl+F5/Shift+F5/Ctrl+Shift+R, а на мобильных смартфонах/планшетах как заставить браузер загрузить страницу без кэширования? Приходится к файлам добавлять спец. параметр с датой и временем. зачем так гадить своему пользователю... зы в мобильных браузерах можно сбросить кеш ну так расскажи, как ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 20:18 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
Дегтярев Евгений, ты, извини, издеваешься? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2021, 20:41 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
X11, извиняю, но ни разу не издеваюсь таймстамп в GET-параметрах это костыль, который годится только на этапе разработки ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2021, 08:32 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
Ну а если браузеры очень жестко кэшируют контент и ничего более не помогает? Постоянно чистить кэш у мобильного браузера - не вариант. К тому же многие даже не знают, как это делать и не понимают, что это вообще такое. Они даже не знают понятие "браузер". Т.е. для обывателя все это сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2021, 13:57 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
Бывает еще и прокси сервера кешируют. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2021, 15:01 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
И не только прокси. У клиента в офисе установлен Керио, там тоже есть кэширование, при этом внутренний прокси-сервер выключен. Сказали, что даже пришлось кэширование выключить, т.к. даже Ctrl+F5 на клиентских браузерах не помогало загрузить новые данные на разных сайтах. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2021, 15:37 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
X11, а meta-теги не помогают? Код: html 1. 2. 3.
Наткнулся правда на обсуждение, где у человека фреймы на странице и отдельный фрейм не обновляется, хотя такие теги есть. И ваш Фархад пишет , что надо это прописывать в каждом фрейме. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2021, 18:38 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
s62, Насколько я знаю, мета теги игнорируются проксями, в отличие от хедеров HTTP. Хедеры надежней, в общем. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2021, 20:10 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
rgreat, может быть, не знаю, давно сталкивался с такой проблемой и не в связи с Unigui, не помню, http-хедерами или тегами решил. В принципе, как пишут, эти теги, с HTTP-EQUIV, и предназначены для замены хедеров, если хедеры с сервера нет возможности изменить. Тогда хедеры соответствующие можно попробовать, кроме Cache-Control, про который ты написал, ещё Expires например. (Это я для X11) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2021, 20:35 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
rgreat s62, Насколько я знаю, мета теги игнорируются проксями, в отличие от хедеров HTTP. Хедеры надежней, в общем. + 1. прокси, cdn и тд не анализируют содержимое 2. у заголовков приоритет перед значением тега http-equiv, про него можно забыть, т.к. ничего не гарантирует, а использование напоминает карго культ ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2021, 22:15 |
|
UniGUI: continuous deployment
|
|||
---|---|---|---|
#18+
X11 Ну а если браузеры очень жестко кэшируют контент и ничего более не помогает? Постоянно чистить кэш у мобильного браузера - не вариант. К тому же многие даже не знают, как это делать и не понимают, что это вообще такое. Они даже не знают понятие "браузер". Т.е. для обывателя все это сложно. браузер кеширует то что рзрешили если надо сбрасывать кеши, значит разработчик накосячил пиво с утра не только вредно но и полезно (с) сорян, налил бархатного по случаю пятницы вобщем, кеш не только вреден, но и полезен, но надо его приготовить динамические данные кешировать нет смысла, иногда и нельзя, т.к. уникальны для пользователя, а порой содержат приватные данные чтобы запретить кеширование достаточно чтобы бек отдавал Cache-Control: no-cache, no-store, must-revalidate либо Expires с датой в прошлом Часто указываю и то и то. статическикие данные кешировать можно и нужно, зачем, думаю, понятно есть способы "жестко" закешировать статику и избежать сетевых запросов для загруженных ранее данных, и при этом грузить актуальную версию после релиза статика отдается с заголовком expires: <дата в будущем>, например, на год вперед статика запрашивается с гет параметром, в качестве значения используется не время, которое постоянно меняется, а версия/тег/хеш комита или даже время сборки, главное чтобы это была уникальная строка для каждой сборки при первой загрузке или после очередного релиза клиент загрузит актуальные версии статики и положит в кеш на год, при последующих загрузках статика будет в кеше, пока не случится новый релиз. есть более продвинутый вариант, но и приготовить его сложнее (rgreat про него упоминал) дата протухания так же устанавливается далеко в будущее но в качестве параметра используется уже не версия приложения а "версия" файла, например, его хеш если в предыдущем варианте клиент после релиза перекачает всю статику, то в этом только изменившиеся файлы можно на этапе сборки зашить хеш в имя файла и не использовать гет параметры, но сути это не меняет ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2021, 22:58 |
|
|
start [/forum/topic.php?all=1&fid=58&tid=2037090]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
49ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
84ms |
get tp. blocked users: |
1ms |
others: | 289ms |
total: | 468ms |
0 / 0 |