@nodejs_ru

Страница 105 из 2748
Herman
31.07.2016
09:48:54
А то у меня даже банальный пасспорт подключить уже проблема

Странно канешн, сначала юзать генераторы а потом париться с их деприкейтом

глупо

KlonD90
31.07.2016
10:00:58
генераторы не депрекейтнуты. это koa просто хотят быть модными

Google
KlonD90
31.07.2016
10:01:07
async/await эт модняво

Herman
31.07.2016
10:35:53
А какую метку то надо ставить?

я тут новенький

Никита
31.07.2016
10:37:22
@gerhr > 6) Про групу подсказали в другом чатике онлайн-деградантов; В каком, если не секрет?

Herman
31.07.2016
10:40:11
#whois Привет ещё раз, забыл представиться по традиции: 1) Нахожусь сейчас в свободном плавании до этого работал на BitTorrent; 2) Пишу на JS и только на JS, но не так хорошо как хотелось бы. Крутые скиллы в дизайне; 3) Умею много говорить =) могу быть мега полезным в UI-ных вопросах; 4) Мерж знаний в первую очередь; 5) Я из Минска; 6) Про групу подсказали в другом чатике онлайн-деградантов; Всем привет

вроде всё))))

uWeb Design

Alxander
31.07.2016
15:42:24
Странно канешн, сначала юзать генераторы а потом париться с их деприкейтом
Там теперь вместо голых генераторов нужно юзать функции, которые возвращают промис. Вообще вторая коа кажется более логичный. Явный контекст — это тоже хорошо.

Denis
31.07.2016
16:43:46
А как сделать так, чтобы в Docker-контейнерах npm install не выполнялся каждый раз, а только тогда, когда package.json изменился?

Roman
31.07.2016
16:46:02
я обычно оставляю это дело рукам

но думаю можно гонять средствами линухи и "pm2 restart" в демоне на фоне)

Google
Artur
31.07.2016
16:47:00
А как сделать так, чтобы в Docker-контейнерах npm install не выполнялся каждый раз, а только тогда, когда package.json изменился?
Я наверное от этого подхода откажусь и буду собирать билды проектов обновляя имадж докера

Aleksey
31.07.2016
16:47:53
@isuvorov

Artur
31.07.2016
16:48:16
Есть еще вариант с bundleDependencies

Denis
31.07.2016
17:00:40
Задача в том, чтобы не делать npm install при каждом docker build, а брать всё из кэша

Evgeny
31.07.2016
17:01:34
Кеш же

Первым делом копируешь package.json потом npm I потом сырцы

Artur
31.07.2016
17:03:03
Задача в том, чтобы не делать npm install при каждом docker build, а брать всё из кэша
Так на митапе про это рассказывал товарищ из яндекса)

Правда у них костыль.

Evgeny
31.07.2016
17:07:52
А что пробовать? Это просто работает :)

Denis
31.07.2016
17:08:19
Первым делом копируешь package.json потом npm I потом сырцы
FROM node:5 ENV NODE_ENV=production # Create app directory RUN mkdir -p /usr/src/app # Install app dependencies ADD package.json /usr/src/app/ RUN cd /usr/src/app && npm install # Build the bundle ADD . /usr/src/app/ RUN npm run build EXPOSE 3000 CMD [ "npm", "start" ]

Artur
31.07.2016
17:10:42
Денис, а вот ты сборку делаешь внутри контейнера чего конкретно?

Evgeny
31.07.2016
17:12:43
Да, как-то так

Artur
31.07.2016
17:12:59
Почему спрашиваю: у меня скрипты билдов обычно требуют devDependencies и мне почему-то кажется, что перед тем как прокинуть в контейнер аппку надо ее предварительно собрать в dev-окружении (если она не лежит уже собранная в приватном npm реестре, например).

Roman
31.07.2016
17:14:58
Слушай, а у тебя на маке докер через vbox запускается?
стоп, там же своя виртуализация или не?

Aleksey
31.07.2016
17:16:32
Мне втирали что он без vbox уже умеет работать.

Алексей
31.07.2016
17:17:09
Задача в том, чтобы не делать npm install при каждом docker build, а брать всё из кэша
https://davidwalsh.name/git-hook-npm-install-package-json-modified не совсем твой случай но можно адаптировать. Просто делаешь git diff и смотришь меняялся ли в последнее время package.json

Roman
31.07.2016
17:17:15
https://docs.docker.com/docker-for-mac/

Google
Roman
31.07.2016
17:18:33
он и под окном вроде без вбоксовской виртуализации

Алексей
31.07.2016
17:18:36
Roman
31.07.2016
17:20:54
А как?
в 10 возможно использует линуксовую прослойку которая там теперь из коробки

до этого мб сигвиновские наработки юзали возможно

под окном Hyper-V использует

Denis
31.07.2016
17:55:11
Aleksey
31.07.2016
17:55:20
Печаль :(

Ребят, кто нибудь откатывался с sierra на elcapitan?

Vladimir
31.07.2016
18:12:09
@DenisIzmaylov а в чем смысл?

Aleksey
31.07.2016
18:12:49
Наверное в том чтобы контейнеры не разбухали.

Vladimir
31.07.2016
18:13:32
чтобы они не разбухали, нужно меньше в них класть, какие еще варианты

Denis
31.07.2016
18:18:30
@DenisIzmaylov а в чем смысл?
В том, что мы используем Concourse.ci и он всё собирает в контейнерах. В частности при git-commit, мы пересобираем контейнер и сейчас я обнаружил, что он каждый раз делает npm install.

Vladimir
31.07.2016
18:18:45
а в чем проблема?

Denis
31.07.2016
18:19:24
Это долго

http://www.clock.co.uk/blog/a-guide-on-how-to-cache-npm-install-with-docker

А вот этот подход почему-то не срабатывает, может быть не актуален для современных версий (статья от 2014го)

Vladimir
31.07.2016
18:20:13
Мы например собираем приложения на circleci под андроид, там при каждом билде скачивается и устанавливается android sdk

долго, зато просто и наджено

Google
Vladimir
31.07.2016
18:20:47
любое кэширование потенциально приводит к невоспроизводимым билдам

Denis
31.07.2016
18:21:24
Это да, но для ветки dev можно использовать кэш

Для stage и prod без кэша и правда лучше)

Vladimir
31.07.2016
18:22:52
говорили про докер?

Admin
ERROR: S client not available

Denis
31.07.2016
18:22:53
Из коробки докер это не умеет?

https://events.yandex.ru/events/yagosti/28-july-2016/

Vladimir
31.07.2016
18:24:36
фронтэнд

вообще в docker build по умолчанию включено кэширование

но вряд ли оно способно понять связь между package.json и node_modules

Denis
31.07.2016
18:27:03
http://www.clock.co.uk/blog/a-guide-on-how-to-cache-npm-install-with-docker
Вот здесь автор как раз свою версию костыля даёт)

на последнем митапе Москов js про это говорили, даже выложили скриптик на bash
Да, уже смотрю. Мы там в кулуарах о своём чём-то заговорились, все доклады пропустили

Andrey
31.07.2016
18:29:02
Да, уже смотрю. Мы там в кулуарах о своём чём-то заговорились, все доклады пропустили
Скорее всего, можно будем создать сторадж с node_modules и натравливать этот скриптик. По их расказам, скорость установки была почти как обычное копирование файлов)

Denis
31.07.2016
18:45:08
Алексей предлагает вот этот скрипт https://gist.github.com/rndD/3f3d33456c6137294b983816a41b34c5

Оно неплохо, но не Docker-friendly

Evgeny
31.07.2016
18:46:17
А чем мой вариант не вариант?

Vladimir
31.07.2016
18:46:29
просто фишка ci в докере в том чтобы не кэшировать как раз ничего

Vladimir
31.07.2016
18:47:17
билд с нуля

Google
Evgeny
31.07.2016
18:48:17
И снова. Штоэ? У меня полный билд пару часов будет идти. Мне забыть про сиайсиди?

Vladimir
31.07.2016
18:48:29
да

но то есть - нет. просто билд будет 2 часа идти

Evgeny
31.07.2016
18:50:37
Но зачем?

Ребилд с кешем 10 минут с тестами

Vladimir
31.07.2016
18:51:23
то есть два часа зависимости ставятся?

Denis
31.07.2016
18:52:13
А чем мой вариант не вариант?
Да вроде наоборот вариант должен быть, но каждый раз ставится всё

Evgeny
31.07.2016
18:52:28
А у тебя свой билд сервер?

то есть два часа зависимости ставятся?
Нет, собираются разные контейнеры, билдится эрланш

Vladimir
31.07.2016
18:53:43
ну вот и ответ - собирать нужно только сам проект

Denis
31.07.2016
18:56:48
А у тебя свой билд сервер?
Да, in-house: www.concourse.ci

Evgeny
31.07.2016
18:58:46
Да, in-house: www.concourse.ci
Тогда смотри что портит кеширование. Ты именно такой докерфайл используешь? Чтонить типа докериндокер есть?

ну вот и ответ - собирать нужно только сам проект
И снова я вас не понимаю. А я что собираю?

Vladimir
31.07.2016
18:59:28
> @NordLuf разные контейнеры, билдится эрланш

Evgeny
31.07.2016
18:59:39
Так это проект

Vladimir
31.07.2016
18:59:56
ну тогда все ок

Страница 105 из 2748