
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 эт модняво

Никита
31.07.2016
10:34:49

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

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
Правда у них костыль.

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 реестре, например).

Aleksey
31.07.2016
17:13:51

Roman
31.07.2016
17:14:58

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

Алексей
31.07.2016
17:17:09

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

Evgeny
31.07.2016
17:18:11

Google

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

Алексей
31.07.2016
17:18:36

Aleksey
31.07.2016
17:19:55

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?

Denis
31.07.2016
17:55:46

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 без кэша и правда лучше)

Andrey
31.07.2016
18:22:05

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

Andrey
31.07.2016
18:29:02

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 в докере в том чтобы не кэшировать как раз ничего

Evgeny
31.07.2016
18:46:45

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

Evgeny
31.07.2016
18:58:46

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

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

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