Сборка не удалась: git reset --hard origin tests-passed завершился с ошибкой

Я запускаю Discourse в контейнере Docker, и при попытке использовать launcher для пересборки app.yml получаю эту ошибку:

FAILED
--------------------
Pups::ExecError: cd /var/www/discourse && git reset --hard origin tests-passed failed with return #<Process::Status: pid 257 exit 128>
Location of failure: /pups/lib/pups/exec_command.rb:112:in `spawn'
exec failed with the params {"cd"=>"$home", "hook"=>"code", "cmd"=>["git remote set-branches --add origin master", "git remote set-branches origin $version", "git fetch --depth 1 origin $version", "git checkout $version", "git reset --hard origin $version", "git clean -f", "mkdir -p tmp", "chown discourse:www-data tmp", "mkdir -p tmp/pids", "mkdir -p tmp/sockets", "touch tmp/.gitkeep", "mkdir -p                    /shared/log/rails", "bash -c \"touch -a           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log\"", "bash -c \"ln    -s           /shared/log/rails/{production,production_errors,unicorn.stdout,unicorn.stderr,sidekiq}.log $home/log\"", "bash -c \"mkdir -p           /shared/{uploads,backups}\"", "bash -c \"ln    -s           /shared/{uploads,backups} $home/public\"", "bash -c \"mkdir -p           /shared/tmp/{backups,restores}\"", "bash -c \"ln    -s           /shared/tmp/{backups,restores} $home/tmp\"", "chown -R discourse:www-data /shared/log/rails /shared/uploads /shared/backups /shared/tmp", "find public/plugins/ -maxdepth 1 -xtype l -delete"]}
a84cc388fbc4b16307c2081e17b03c5eee578e1155fa1e057147601119d89a34
** FAILED TO BOOTSTRAP ** please scroll up and look for earlier error messages, there may be more than one.
./discourse-doctor may help diagnose the problem.
==================== END REBUILD LOG ====================

Похоже, что это ошибка Git, связанная с текущим состоянием официального репозитория Discourse на GitHub, но я недостаточно знаком с Docker или Git, чтобы точно это понять. Я попытался запустить ./discourse-doctor, как было предложено, но это привело к повторению той же проблемы… никакой помощи.

Окей, ну да… дело было в репозитории Discourse, потому что я ничего не делал — просто снова запустил пересборку, и теперь всё работает…

  1. Страшно, что сбойное состояние репозитория может полностью сломать вашу настройку.

  2. Тоже страшно, что нет возможности отката при проблемах с удалёнными репозиториями… Весь форум выдавал ошибку 502 Bad Gateway, пока он сам не пересобрался успешно. Может, в Docker есть что-то вроде истории образов, к которой можно откатиться… Не знаю… Но поддержка отката казалась бы очень важной, если работа вашего сайта целиком зависит от того, насколько правильно настроены репозитории на GitHub. Конечно, можно сказать, что это моя ответственность — делать снимки сервера перед попыткой пересборки… Можно так сказать, полагаю.

Если пересборка не удалась, вы обычно можете запустить:

./launcher start app

Спасибо, Джей,

Контейнер запускался.. Я мог использовать docker top, чтобы увидеть, что nginx работает внутри контейнера, и именно этот экземпляр выдавал ошибку HTTP 502 «bad gateway». Я подтвердил это, остановив контейнер и получив ошибку «connection refused», значит, контейнер был запущен.. но Discourse не работал должным образом.

Вы имеете в виду, что при использовании утилиты launcher приложение Discourse должно запускаться внутри контейнера? Или это нужно выполнять изнутри самого контейнера?

Извините за мою неосведомленность здесь.

Я имею в виду, что если пересборка не удалась, вы обычно можете запустить старый контейнер с помощью команды start.

Rails запускается некоторое время, поэтому ошибка 502 в течение минуты-двух является ожидаемой.