@proRuby

Страница 624 из 1594
ojab
11.07.2017
19:08:34
телепаты говорят что ассеты из рельсов в production в докере не хотят раздаваться

Dmitriy
11.07.2017
19:11:05
сорри, отходил. Проблема что перезапуск контейнеров не обновляет код в контейнере, даже если делаешь --force-recreate

Сейчас я грешу на то что nginx, не подхватывает новый код из public, потому что дергается старый volume

https://gist.github.com/onemanstartup/ffe5c906a2135e31dd13463f10531170 вот docker-compose

Google
ojab
11.07.2017
19:15:49
что только люди не делают, лишь бы не пользоваться bare metal'ом

А как вообще nginx видит этот самый public?

а, вижу volumes_from

всё равно непонятно, как nginx в рельсы ходит?

в nginx.conf проксирование на 3000?

Dmitriy
11.07.2017
19:19:12
links: - web:web

доступен 3000 порт

ojab
11.07.2017
19:19:37
я вижу что он доступен

я не вижу чтобы nginx с ним что-то делал

Dmitriy
11.07.2017
19:20:11
он делает с ним в конфиге nginx)

ojab
11.07.2017
19:20:33
рельсоприложение обновляется и проблема только с ассетами?

Dmitriy
11.07.2017
19:20:54
проблема то с докером а не c nginx конфигом.

вроде как само приложение тоже не обновляется

Google
Dmitriy
11.07.2017
19:21:38
т.е image новый создается, но не подхватывается контейнером

ojab
11.07.2017
19:21:39
"вроде как"

pull: true поставь, чтоль

вообще непонятно как ты это всё запускаешь и как ты ожидаешь что это будет обновляться

Dmitriy
11.07.2017
19:25:00
docker-compose -f devops/docker/staging.docker-compose.yml up --build -d

должно же быть достаточно что-бы создать image и запустить новый контейнер

ojab
11.07.2017
19:26:19
а перед этом docker-compose останавливаешь?

Dmitriy
11.07.2017
19:26:52
ну это сейчас приходится делать

и удалять остановленные контейнеры

без остановки и удаления не обновляется

Alex
11.07.2017
20:10:35
тебе докер для дева нужен?

или для прода?

v
11.07.2017
20:26:44
судя по слову staging - нечто среднее

Dmitriy
11.07.2017
20:42:13
или для прода?
для прода

Alex
11.07.2017
20:42:30
для прода контейнер с нуля должен собираться

и там должно быть COPY в Dockerfile

Dmitriy
11.07.2017
20:42:46
У меня так и есть

Alex
11.07.2017
20:42:47
Конфигурация для прода и дева разная будет, иначе в деве неудобно будет.

тогда не понимаю в чем проблема

Dmitriy
11.07.2017
20:43:29
Подожди, контейнер с нуля или image с нуля?

Google
Lupsick
11.07.2017
20:47:07
можно юзать образ для дева и прода один и тот же

Alex
11.07.2017
20:47:29
ну типа каждый раз bundle install делать неудобно вообще ниразу

Lupsick
11.07.2017
20:47:57
не ты ж делаешь

Alex
11.07.2017
20:48:03
с рояля то

а разработчик кто?

Lupsick
11.07.2017
20:49:00
а разработчик кто?
ну типа в образе должно быть bundle install

но copy не обязательно

Alex
11.07.2017
20:49:16
ну типа в образе должно быть bundle install
ну типа в образе старый Gemfile а я его ток что обновил

и мне ждать пока вся эта чертовщина заново скачается

и еще возможно какие то шаги выполнит после этого

Lupsick
11.07.2017
20:49:47
ты имеешь в виду копирнуть Gemfile и сделать bundle install?

Alex
11.07.2017
20:49:51
дя

Lupsick
11.07.2017
20:49:54
тогда ок

снимаю вопрос

Dmitriy
11.07.2017
20:51:03
https://gist.github.com/onemanstartup/7be3785b8ea77ac7ce00a8c8f42d2ece

Проблема в том что без удаления контейнеров и остановки новые контейнеры не подхватывают измененный код, image новый собирается, все копируется в image, но почему в контейнере старый код

Ivan
12.07.2017
00:32:55
@AlexWayfer /spam

Ruri
12.07.2017
06:16:51
Здравствуйте! С чего посоветуете начать учить Ruby?

Tim
12.07.2017
06:17:40
С codecademy

Google
Ростислав
12.07.2017
06:17:55
я бы советовал https://www.amazon.com/Ruby-Way-Second-Techniques-Programming/dp/0672328844

Admin
ERROR: S client not available

v
12.07.2017
06:19:11
Здравствуйте! С чего посоветуете начать учить Ruby?
вот тут тебе всякие онлайн-курсы будут советовать - с них и начинай

книги потом

Ruri
12.07.2017
06:20:10
а база какая-то нужна? если да то какая? или можно сразу начинать учить?

kapkapbopoh
12.07.2017
06:21:11
Да, начни с android, а потом перейди на си

Ростислав
12.07.2017
06:21:21
на каких-нибудь языках до ruby программировал?

v
12.07.2017
06:42:58
крч, можешь уже бежать на codecademy

Ruri
12.07.2017
06:43:21
хорошо, спасибо)

Igor
12.07.2017
07:35:02
А кто то пользуется dry-container? Такая задачка. Есть сервис, например HttpConnection с настройками таймаутов по умолчанию. Как быть, когда он передаётся в другие сервисы, но в каждом случае нужны разные таймауты? Container.register :http_conn, -> { HttpConnection.new(много_опций) } Container.register :api_client1, -> { ApiClient1.new(Container.resolve('http_conn')) } # тут нужен таймаут 5 сек Container.register :api_client2, -> { ApiClient2.new(Container.resolve('http_conn')) } # тут нужен таймаут 10 сек

Vasiliy
12.07.2017
07:35:52
выход Антона)

Igor
12.07.2017
07:39:35
Я сейчас это решил примерно так: ApiClient1.new(Container.resolve('http_conn').with_options(timeout: 5)) ApiClient2.new(Container.resolve('http_conn').with_options(timeout: 10)) Где with_options делает клон объекта и устанавливает новые параметры. Но есть ощущение, что это должно делаться как то не так )

Google
Anton
12.07.2017
07:48:29
Но если что - with_options норм вариант

Nikita
12.07.2017
07:58:14
Абсолютно нормально, можно сделать, чтобы в контейнер можно было передавать параметры, но здесь оно того не стоит. И в любом случае после этого нужно будет копировать контейнер для установки опций. При таких раскладах лучше просто делать копию сервиса

Nikita
12.07.2017
08:04:13
А, вот ещё, можно его проапгрейдить, чтобы resolve принимал параметры, но для этого нужно будет написать кастомный резолвер и registry

Nikita
12.07.2017
08:10:12
Ты можешь просто добавить аргументы в блок, тогда при резолве у тебя он не будет вызываться. После этого можешь переопределить resolve и если туда передано больше одного аргумента, то оставшиеся применить к результату вызова super. Буду у компа, кину код

Igor
12.07.2017
08:10:55
Вроде понял мысль, спасибо

Anton
12.07.2017
08:21:32
Вроде понял мысль, спасибо
вот примеры создание контейнера https://github.com/davydovanton/web_bouncer/blob/master/lib/web_bouncer/oauth_container.rb#L9-L20 вызов https://github.com/davydovanton/web_bouncer/blob/master/lib/web_bouncer/oauth_middleware.rb#L9

Dima
12.07.2017
08:25:13
Откланировал репо с github, залогинился в heroku, какой командой из списка приложений выбрать что в данный момент будешь работать именно с этим приложением?

Страница 624 из 1594