Я решил обновить приложение rails с 5.0.1 до 5.1.5. Это включало обновление с Zurb Foundation с 6.2.3 до 6.4.x, чтобы я мог начать покрывать grix-xy.
У меня есть два приложения Rails, которые развернуты на коробках Debian. Одним из них является локальное окно, являющееся пользовательским приложением для управления почтой VFW (Veterans of Foreign Wars). Я сделал примерно то же самое обновление для этой коробки несколько месяцев назад, и у меня были только незначительные проблемы. Отсутствие yarn и node.js, казалось, было одной из проблем, но это может длиться месяцами. Другой развернут на виртуальном сервере Digital Oceans. Это я застрял.
Мой процесс был
- добавлена и проверена ветка rails5.1
- изменить гемфайл на новые рельсы и фундаментные рельсы
- используемое приложение rails: обновление для обновления системных компонентов
- установил новые установки
- очищены представления для использования более новой версии Foundation
- проверено, что я мог в разработке
- слил ветку rails5.1 в master и внес изменения в мой репозиторий
- попытался развернуть с помощью Capistrano - застрял
Я беспокоился о СЕКРЕТАХ, но мой метод работал с приложением VFW (используя rbenv-vars для установки секретов). Я развернул серийное производство, которое началось с проблем.
Я получил ошибку пряжи
DEBUG [27ff41fe] Command: cd /home/deploy/apps/pt_golfer/releases/20181111214738 && ( export RBENV_ROOT="$HOME/.rbenv" RBENV_VERSION="2.3.1" RAILS_ENV="production" RAILS_GROUPS="" ; RBENV_ROOT=$HOME/.rbenv RBENV_VERSION=2.3.1 $HOME/.rbenv/bin/rbenv exec bundle exec rake assets:precompile )
DEBUG [fee53ebb] Yarn executable was not detected in the system.
DEBUG [fee53ebb]
DEBUG [fee53ebb] Download Yarn at https://yarnpkg.com/en/docs/install
DEBUG [fee53ebb]
DEBUG [fee53ebb] I, [2018-11-11T16:37:28.513883 #11920] INFO -- : Writing /home/deploy/apps/pt_golfer/releases/20181111214738/public/assets/application-683e0728d4efb1932c42933c1d3e66430959c9f4575bf91d83518c647597847f.js
DEBUG [fee53ebb] I, [2018-11-11T16:37:28.514512 #11920] INFO -- : Writing /home/deploy/apps/pt_golfer/releases/20181111214738/public/assets/application-683e0728d4efb1932c42933c1d3e66430959c9f4575bf91d83518c647597847f.js.gz
DEBUG [fee53ebb] I, [2018-11-11T16:37:28.516684 #11920] INFO -- : Writing /home/deploy/apps/pt_golfer/releases/20181111214738/public/assets/application.js-d85e0f2634e381cd64bda8c1bc5a6097e295cbdbbd7ef0880e0016d19cfa6e35.copy
DEBUG [fee53ebb] I, [2018-11-11T16:37:28.519517 #11920] INFO -- : Writing /home/deploy/apps/pt_golfer/releases/20181111214738/public/assets/_settings.scss-b317c61809f397c15bef60771da1f85f01f265fa195aabb8dc44da529c36319c.copy
DEBUG [fee53ebb] rake aborted!
Autoprefixer doesn’t support Node v0.10.29. Update it.
Но развертывание продолжилось, и я уверен, что он установил «текущую» ссылку на неудачное развертывание.
Затем я установил пряжу на виртуальном сервере DO и попытался развернуть снова.
На этот раз, похоже, завершение развертывания, но в единороге произошел сбой: перезапустить задачу
INFO [3dfc7929] Running RBENV_ROOT=$HOME/.rbenv RBENV_VERSION=2.3.1 $HOME/.rbenv/bin/rbenv exec bundle exec unicorn -c /home/deploy/apps/pt_golfer/current/config/unicorn.rb -E production -D as deploy@my.do.ip.238
DEBUG [3dfc7929] Command: cd /home/deploy/apps/pt_golfer/current && ( export RBENV_ROOT="$HOME/.rbenv" RBENV_VERSION="2.3.1" ; RBENV_ROOT=$HOME/.rbenv RBENV_VERSION=2.3.1 $HOME/.rbenv/bin/rbenv exec bundle exec unicorn -c /home/deploy/apps/pt_golfer/current/config/unicorn.rb -E production -D )
DEBUG [355f81af] master failed to start, check stderr log for details
на моем терминале я увидел следующую ошибку
(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as deploy@@my.do.ip.238: cat /home/deploy/apps/pt_golfer/shared/tmp/pids/unicorn.pid.oldbin exit status: 1
cat /home/deploy/apps/pt_golfer/shared/tmp/pids/unicorn.pid.oldbin stdout: Nothing written
cat /home/deploy/apps/pt_golfer/shared/tmp/pids/unicorn.pid.oldbin stderr: cat: /home/deploy/apps/pt_golfer/shared/tmp/pids/unicorn.pid.oldbin: No such file or directory
В этот момент единорог все еще использовал старую версию. Я пошел по пути к большему количеству неудач.
Я пробовал шапку производства единорога: жесткий перезапуск. Это убило старую версию, но не запустило новый сервер
Подумав, что я потерпел неудачу в чем-то, чего я не понял, я сделал откат производства шапки. Ошибка: файл манифеста ресурсов Rails (или файл резервной копии) не найден
Глядя на мою структуру развертывания, «текущий» указывал на последний неудачный выпуск развертывания (их было два). Затем я перепрыгнул акулу и связал ток с последней хорошей версией (rails 5.0.x) и запустил единорога. Это придумал старый рубин, но новый CSS! Это работоспособно, к счастью, я не сделал так много изменений css, моя верхняя панель облажалась со сменой основы css, но работоспособна.
Мой вопрос: куда мне идти отсюда? Я могу попытаться восстановить свой промежуточный сервер, но это может занять несколько дней. Полагаю, я также мог бы попытаться как-нибудь поставить постановку на виртуальный хост DO.
Если бы я был экспертом по git, я уверен, что это способ вернуться к моему последнему хорошему коммиту, но все равно сохраняйте ветку rails5.1, пока я не смогу выяснить, что пошло не так.
Мой следующий путь, так как я знаю, что могу вызвать старую версию, это попытаться выяснить, что является ошибкой ошибки единорога. Угадайте, что выполнение единорога в комплекте должно убрать Капистрано из картины.