Sergey
Anonymous
https://www.npmjs.com/package/vkapi ктонибудь юзает? в коде отечек нет ключей и т.д. ?
лень рыться
Artem
Добрый день! Хочу спросить за человеческий продакшн. К релизу подходит один микросервис, который плотно взаимодействует с имеющимся другим. Я думаю про интеграционные тесты и какое-то управление конфигурацией. И деплой тоже больная тема: деплоим все руками скриптом на баше. И я один на весь зоопарк nodejs + php. Направьте, пожалуйста, меня в нужную сторону) Есть какие-нибудь мануалы по готовым решениям (я практически ничего не знаю за CI, пока..) или здесь мне тоже придется собирать конструктор самому?
Artem
Еще было бы круто руководству объяснить зачем это все нам нужно и выбить время на внедрение. Боюсь, что пройдет только какое-то обкатаное в бою решение
Yan
а сервер сами хостите?
Artem
неа, digital ocean.
Artem
нода под pm2 крутится
Orion
https://jenkins.io/
Yan
либо через кодшип деплой делать
Mikhail
https://kallithea-scm.org/#features
Artem
Yan
сервис для сборки проекта
Yan
подключаешь его к репозиторию, он при пуше забирает новую версию, билдит проект, и заливает дальше
Mikhail
как то было дело
Yan
вроде как с ДО у него интеграция есть
Mikhail
в качестве инхоум решения
Artem
Artem
А есть у кого-то опыт в одну кастрюлю таким образом nodejs и php (yii2) проекты свалить? или здесь нет принципиальной разницы?
Mikhail
его на свой сервер ставить надо, или в докере можно запустить
https://hub.docker.com/search/?isAutomated=0&isOfficial=0&page=1&pullCount=1&q=kallithea&starCount=0
kdm🇩🇰
как сделать, чтобы нода запускала другую ноду? :D
Dmitry
cluster mode?
Vadim
не обязательно, можно еще форкнуть процессы на разные порты
kdm🇩🇰
это cluster?
kdm🇩🇰
либа
kdm🇩🇰
я просто думал, типа через commander запустить скрипт со своими параметрами
Aleksey
посмотри на модуль child_process
Aleksey
там есть методы exec, spawn.
kdm🇩🇰
хорошо, ознакомлюсь, спасибо!
Dmitry
если надо что-то дернуть то либо child_process либо shelljs
kdm🇩🇰
вот сомтрю spawn там как раз аргументы даем, ща протестирую
Aleksey
в exec тоже можно, только там все в одну строку загоняешь )
kdm🇩🇰
мне надо передать pm2 start app.js
Aleksey
а ты уверен, что из js хочешь это выполнять?
Aleksey
в целом, можно либо exec(‘pm2 start app.js’), либо spawn(‘pm2’, [‘start’, ‘app.js’]), в параметрах можно еще cwd прописать
kdm🇩🇰
да, вот в документации нашел spawn такой же пример
kdm🇩🇰
kdm🇩🇰
попробовал ('node', ['app.js']) запускает
Aleksey
он скорее всего найти pm2 не может, попробуй явно cwd указать — рабочую директорию свою
kdm🇩🇰
Aleksey
либо пропиши полный путь до исполняемого файла node_modules/.bin/pm2
Aleksey
ну или где он у тебя там )
kdm🇩🇰
да в одной директории варятся ребята
kdm🇩🇰
вот вроде exec получился
Таймураз
Ребят, был сайтец один, где расписано, что используют те или иные компании
Таймураз
Весь стек их технологий
Таймураз
Не могу нагуглить
Таймураз
https://stackshare.io/stacks
Sergey
нашел?
Таймураз
Да, по слову стек сразу выдало
Alexander
Всем привет, Ребят не подскажите как сделать npm -g без sudo?
Serhii
Оо
Alexander
ну как-то так
Zaur
как пойти гулять без разрешения отца, и без последствий - в детстве все об этом мечтали ))
Sergey
Alexander
т.е npm -g все таки не вызвать без прав?
Alexander
Mikhail
https://docs.npmjs.com/getting-started/fixing-npm-permissions
вот гайд
A
Добрый день! Хочу спросить за человеческий продакшн. К релизу подходит один микросервис, который плотно взаимодействует с имеющимся другим. Я думаю про интеграционные тесты и какое-то управление конфигурацией. И деплой тоже больная тема: деплоим все руками скриптом на баше. И я один на весь зоопарк nodejs + php. Направьте, пожалуйста, меня в нужную сторону) Есть какие-нибудь мануалы по готовым решениям (я практически ничего не знаю за CI, пока..) или здесь мне тоже придется собирать конструктор самому?
Я бы не сказал, что CI - это правильная история про то, как надо вещи выкладывать в продакшн.
Вообще, CI - это хорошо. Их много разных. Если собираетесь сами хостить - берите Jenkins. Он немного криповат, но дело своё делает прекрасно, легко конфигурируется и прекрасно работает в режиме "поставил и забыл".
Из популярных есть еще Team City. Он до какого-то момента бесплатный, потом платные. У нас - он. Но с ним постоянно какое-то говно происходит. То в результате сборки появляется артефакт, устаревший на пару версий, то он данные перестанет за собой удалять. Больше склоняюсь к тому, что это мы такие криворукие, но тем не менее, с Jenkins-ом таких проблем при тех же кривых руках не было.
Alex
Привет всем) Кто работал с vk-io, напишите в лс, если не трудно, есть пара вопросов
A
Я бы не сказал, что CI - это правильная история про то, как надо вещи выкладывать в продакшн.
Вообще, CI - это хорошо. Их много разных. Если собираетесь сами хостить - берите Jenkins. Он немного криповат, но дело своё делает прекрасно, легко конфигурируется и прекрасно работает в режиме "поставил и забыл".
Из популярных есть еще Team City. Он до какого-то момента бесплатный, потом платные. У нас - он. Но с ним постоянно какое-то говно происходит. То в результате сборки появляется артефакт, устаревший на пару версий, то он данные перестанет за собой удалять. Больше склоняюсь к тому, что это мы такие криворукие, но тем не менее, с Jenkins-ом таких проблем при тех же кривых руках не было.
Отдельно подуймайте про виртуализацию. Докер нынче это не только модно, но и полезно в хозяйстве. Особенно если у вас какие-нибудь бинарные зависимости есть в системе. Ну там типа graphics magick какой-нибудь или что-то в этом духе.
Ну и соответственно тогда, CI будет выдавать уже не какие-то сферические дистрибутивы в вакууме, а образы для докера, который, ну по сути, ставится как обычное приложение, типа того.
В Jenkins/TeamCity это всё строить самому надо. В каком-нибудь Travis-CI это из коробки вроде есть.
A
Отдельно подуймайте про виртуализацию. Докер нынче это не только модно, но и полезно в хозяйстве. Особенно если у вас какие-нибудь бинарные зависимости есть в системе. Ну там типа graphics magick какой-нибудь или что-то в этом духе.
Ну и соответственно тогда, CI будет выдавать уже не какие-то сферические дистрибутивы в вакууме, а образы для докера, который, ну по сути, ставится как обычное приложение, типа того.
В Jenkins/TeamCity это всё строить самому надо. В каком-нибудь Travis-CI это из коробки вроде есть.
Вообще, скорее всего правильный путь - это начать писать интеграционные тесты. Обычно сразу возникают правильные вопросы, которые и надо решать.
Ну например, решили вы написать e2e тест для фронта на Selenium. Всё бы круто, но:
1. фронт надо где-то поднять отдельно. Кроме того он может к домену быть какому-то привязан. Если привязан каким-то боком к домену - надо либо костыли городить, либо как-то на время тестов /etc/hosts править, или еще что-то. В общем проблема есть - её надо как-то решать. Возможно виртуализацией.
2. к фронту надо поднять бэк (пусть у нас он одним сервисом живёт). У него те же вопросы с доменом + надо как-то их подружить с фронтом, чтобы оба друг про друга знали (ну или не оба).
3. фронт и бэк - два разных приложения, у каждого баги свои. Надо бы понимать, с какими версиями работают тесты...
ну итд итд итд.
Идея такая, что ваши решения должны из потребностей расти
A
Т.е. может это и вообще всё войдет в один питоний скрипт. Обычно, правда, так не бывает, но тем не менее
Jąńek
поставь через brew
Anonymous
Всем привет!
Кто знает как правильно перебирать свойства модели mongoose. Или как эту модель преобразовать в норм объект?
Anonymous
я получаю модель, это различные флаги, и мне надо перебор найти включеный, for и hasOwnProperty, не сработают, так как там не просто привычный объект.
Anonymous
Может кто знает как грамотно его преобразовать в норм объект, для последующего перебора, или сразу правильно перебирать, то что пришло.
Pavel
model.toObject()
Anonymous
😱 так просто ?)
O.
doc = doc.toObject()
Anonymous
toArray знаю там) а про объект где то упустил )
Pavel
Или при выборке: Model.find({}).lean(); - но тут не будет виртуальных полей и прочего. + выборка будет быстрее происходить
Anonymous
Все вопрос снят спасибо всем )
Sergey
Vitaliy
Конечно. Всего-то и надо в юзерспейс поставить nvm
Denis
Artem
Ребят, кто занимался Stripe платежной системой, не мог бы кто нибудь объяснить мне что из себя представляют дистпуты в данной платежной системе?
kdm🇩🇰
чтобы достать написанный модуль другой прогой надо просто через module.exports {} кинуть свю функцию?