
Nikolay
12.02.2017
18:16:12
так что бери инфу 2011+ годов и будь спокоен за актуальность

Alex
12.02.2017
18:16:19
meh

Ilya
12.02.2017
18:16:37
все зависит от того, что ты не пропустил

Alex
12.02.2017
18:16:42
мне уже года 3 говорят что мертво, но все как то не умрет

Google

Nikolay
12.02.2017
18:17:15
ну еще долго не умрет
а если ты уже три года в комьюнити и не знаешь что почитать, то мб мертв ты

Ilya
12.02.2017
18:17:46
ну почитай ченджлоги рубей, рельсы, что тут можно порекомендовать еще хз)

Alexander
12.02.2017
18:20:53

Ilya
12.02.2017
18:22:58
Свой код почитать)
ну это уже совсем жестко) потом можно и забухать с горя на неопределенный срок)

Alexander
12.02.2017
18:23:15

Ilya
12.02.2017
18:25:19
но вообше я где-то читал мысль, что если при прочтении своего кода годичной давности у тебя не возникает желания его переписать/удалить чтоб никто не видел, то значит что-то ты делаешь в своем развитии не так

Alexander
12.02.2017
18:28:08

v
12.02.2017
20:47:14
внимание, загадка
в deploy.rb стоит set :branch, 'master'
в коде, взятом из папки current, активная ветка - deploy
как это объясняется?

Dmitry
13.02.2017
06:32:50
кто-то на локали поменял, задеплоил и в репозиторий не закомитил)
а вообще у capistrano есть файлик revisions.log кажись
там видны все ревизии которые деплоились на сервер

Evgeniy
13.02.2017
06:35:53

Google

v
13.02.2017
06:38:49

Evgeniy
13.02.2017
06:39:36
А как это связано? ?
При деплое через капистрану с гитом махинаций кагбэ нет

Dmitry
13.02.2017
06:40:03
это вообще не связано, потому как капистрано использует локальный скрипт
ну точнее не так, он использует конфиги те, где он запускается

v
13.02.2017
06:42:12

Evgeniy
13.02.2017
06:43:13
Я о том, что при какой-то стандартной настройке капистрано, для деплоя на сервак используется код из удаленной репы

Dmitry
13.02.2017
06:43:29
посмотри revisions.log, там будет что-то вроде:
Branch default (at 24183b8bcb8d5b85c61c51338a4a05198e510f83) deployed as release 20160605170301 by dstepanenko
Branch default (at 38af944ca56f79d2a108ef1b7ae81272cbe4dcf7) deployed as release 20160605181446 by dstepanenko
и ты сразу определишь что произошло

Evgeniy
13.02.2017
06:43:43
И неважно какое состояние репозитория локально

Dmitry
13.02.2017
06:43:56
+

v
13.02.2017
06:44:00
в смысле - неважно?
мне вот важно

Evgeniy
13.02.2017
06:44:19
В смысле, что капистарне не важно
Она просто зальет текущий код из указанной репы и указанной ветки на сервек

Dmitry
13.02.2017
06:45:11
капистрано скачивает исходник из github (или bitbucket) и заливает его на сервер. И ему пофигу что у тебя локально

Evgeniy
13.02.2017
06:45:55

v
13.02.2017
06:46:12
это не у меня локально
это на сервере локально

Dmitry
13.02.2017
06:47:03
ты revisions.log посмотрел на сервере?

Google

v
13.02.2017
06:47:38
нет, я не знаю, где его искать

Dmitry
13.02.2017
06:48:05
у тебя капистрано заливает все в какую-то папку, например: /var/www/site.com
там есть три папки (current, revisions и shared)
вот в корне будет лежать этот файл
/var/www/site.com/revisions.log

v
13.02.2017
06:48:54
ни разу такого не видел

Dmitry
13.02.2017
06:49:24
set :deploy_to
вот сюда оно заливает
в эту директорию

v
13.02.2017
06:49:36
там нет

Dmitry
13.02.2017
06:49:52
а капистрано какой версии?
это вроде с 3 появилось

v
13.02.2017
06:51:25
версии два

Dmitry
13.02.2017
06:52:35
хмм, во второй не помню, был ли такой лог...

v
13.02.2017
06:52:46
не было
в второй файлы REVISION

Dmitry
13.02.2017
06:55:10
ну в общем я не вижу другого варианта кроме как что кто-то локально изменил конфиг capistrano, сделал cap production deploy и на сервере получилась ветка отличная от конфига. К сожалению как посмотреть логи деплоя в capistrano 2 я не знаю

v
13.02.2017
06:56:27
а не мог этот кто-то сделать git checkout <ветка> и git pull?
или даже без git pull

Dmitry
13.02.2017
06:58:38
теоретически мог, смотря какая стратегия деплоя. Там вроде можно репу скачиват а можно просто архив заливать. Т.е. если на сервере есть слепок репозитория то можно было так сделать

Google

Dmitry
13.02.2017
07:53:11
если имела место именно такая схема, можно просто по истории команд на сервере поискать. Что-то вроде history | grep git

Nick
13.02.2017
08:30:02
Какие-то влажные фантазии капистрано вызывает
Вы бы хоть в сырцы глянули.
При деплое во второй версии происходит следующее
1. Капистрано сливает bare репозиторий на сервере деплоя вашу ветку указанную в конфиге (это всё кэшируется в папку repo).
2. Капистрано создаёт папку под текущий релиз.
3. Инициализирует в ней git.
4. Клонирует туда репозиторий из кэша.
5. Создаёт ветку deploy в папке релиза.
Инжой
https://github.com/capistrano/capistrano/blob/v2.15.9/lib/capistrano/recipes/deploy/scm/git.rb#L149

v
13.02.2017
08:33:21
о!

Nick
13.02.2017
08:33:50
Это захардкожено и не очень красиво.
В 3-ей версии все сделано более элегантно. Но её сырцы вы посмотрите сами, правда же.

v
13.02.2017
08:34:19
нит

Admin
ERROR: S client not available

v
13.02.2017
08:34:22
зачем

Nick
13.02.2017
08:34:35
Ясно, понятно.

Dmitry
13.02.2017
08:38:06
видимо для git другая схема зачем-то сделана

Nick
13.02.2017
08:38:53
Переезжайте на 3-ий капистрано.

Dmitry
13.02.2017
08:39:10
у меня и так третий) просто вместо git у меня меркуриал)

Nick
13.02.2017
08:39:50
Аааа... Понял. В третьем логика изменена, если меня память не подводит.
Там в принципе все scm-утилиты вынесены в плагины для начала.

Ilya
13.02.2017
08:40:15
а в чем прикол меркуриал?
или это просто на проекте так?

Google

Dmitry
13.02.2017
08:40:35
ну мы исторически переехали на него с svn и меня устраивает)

Nick
13.02.2017
08:40:41
Кто-то любит арбуз, а кто-то свиной хрящик

Николай
13.02.2017
09:28:57
А кто какой http либой пользуется? RestClient крутой, но если тебе вдруг надо увеличить тайм-аут, то приходится уже менять приятный метод #post или #get на #execute, в котором уже не все так красиво.

Alexander
13.02.2017
09:29:33
Или забей

Dmitry
13.02.2017
09:35:35
мне нравится https://github.com/sparklemotion/mechanize

Ruslan
13.02.2017
09:36:13
ну тут не то все же
это через веб обращения, а rest client считай обычный curl

Dmitry
13.02.2017
09:36:59
зато сразу два в одном) зачем подключать разные либы если одна комбаин

Ruslan
13.02.2017
09:37:43
если нет необходимости работать с вебом, не вижу смысла нагружать парсер подгрузкой лишних либ, и работает медленнее

Alexander
13.02.2017
09:39:13

Dmitry
13.02.2017
09:43:53
вот этот еще популярный вроде https://github.com/lostisland/faraday

Alexander
13.02.2017
09:44:17
ох ё, это ж обёртка

Dmitry
13.02.2017
09:44:56
)

Alexander
13.02.2017
09:45:03
ну ладно. но выглядит так себе, на мой вкус

Lupsick
13.02.2017
09:46:10
httparty не обновляется

Николай
13.02.2017
09:46:28
Спасибо, буду смотреть. Вообще когда пришлось кучу запросов разных делать в одном месте, то оказалось, что только Curb может с нормальной скоростью передавать большие файлы, да и RestClient оказался не очень гибким и при первом же изменении пришлось использовать более низкоуровневый метод, о котором даже разработчики restclient пишут, что там уже все не так гладко. Конечно от Curb для передачи больших файлов вряд ли удастся избавиться, но это все-таки редкая задача, а вот найти что-то более гибкое, чем RestClient, но достаточно удобное было бы круто :)

Dmitry
13.02.2017
09:48:10
https://github.com/markets/awesome-ruby#http-clients
тут еще куча их)

Lupsick
13.02.2017
09:48:55
https://github.com/typhoeus/typhoeus
самый норм на мой взгляд
на основе libcurl