Matterbridge не запускается на Heroku - есть ли способ проверить, как выглядит сборка на платформе? - PullRequest
0 голосов
/ 19 июня 2020

В качестве демонстрационной и демо-версии я хочу запустить вопрос в рамках бесплатного плана heroku. Для этого я нашел этот хороший репозиторий от patcon . Он раздвоил его и улучшил в моих глазах, объяснив, как вы постоянно запускаете его как веб-диностенцию, и поэтому он также принимает запросы hhtp, такие как веб-перехватчики. Для развертывания приложения я решил воспользоваться методом git pu sh.

Я клонировал репозиторий с patcon на свою машину windows, настроил его в соответствии с моими потребностями и отправил на heroku. Вначале это не работало, потому что среда сборки не обнаруживала сборочный пакет. Поэтому я установил для переменной среды BUILDPACKS_URL значение https://github.com/patcon/matterbridge-heroku#master

. После этого сборка прошла успешно, но возникло несколько проблем. В журналах было упомянуто, что в разрешении на выполнение start. sh и envsubst отказано. Как и в упомянутых документах от Heroku, я создал файл .profile с помощью chmod + x для начала. sh и lib / envsubst.

Итак, git преобразует строку, заканчивающуюся из формата windows, в linux один. Но не разрешения. В конце концов, я не знаю, работает ли загрузка.

Enumerating objects: 5, done.
Counting objects: 100% (5/5), done.
Delta compression using up to 4 threads
Writing objects: 100% (3/3), 318 bytes | 318.00 KiB/s, done.
Total 3 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Compressing source files... done.
remote: Building source:
remote:
remote: -----> Matterbridge app detected
remote: -----> Downloading Matterbridge: https://github.com/42wim/matterbridge/releases/download/v1.17.5/matterbridge-linux-amd64
remote: -----> Discovering process types
remote:
remote: -----> Compressing...
remote: -----> Launching...
remote:        Released v35
remote:        https://???.herokuapp.com/ deployed to Heroku
remote:
remote: Verifying deploy... done.

Но даже если я изменяю в файле bin / compile путь и версию загрузки, всегда загружается версия v1.17.5 . Также, если я изменю его с помощью app. json. Честно говоря, я только догадываюсь, что делает этот файл. Я предполагаю, что это используется, когда я хочу развернуть приложение с помощью этого метода кнопки heroku для установки переменных среды.

Следующее сообщение указывает на то, что исполняемый файлatterbridge не загружен или находится не в нужном месте .

2020-06-19T17:37:13.074592+00:00 app[web.1]: [heroku-exec] Starting
2020-06-19T17:37:13.116550+00:00 app[web.1]: ./matterbridge: line 1: Not: command not found
2020-06-19T17:37:13.181167+00:00 heroku[web.1]: Process exited with status 127
2020-06-19T17:37:13.214787+00:00 heroku[web.1]: State changed from starting to crashed
2020-06-19T19:10:11.450748+00:00 heroku[web.1]: State changed from crashed to starting
2020-06-19T19:10:11.759082+00:00 heroku[web.1]: Starting process with command `./start.sh`
2020-06-19T19:10:14.649261+00:00 app[web.1]: [heroku-exec] Starting
2020-06-19T19:10:14.671276+00:00 app[web.1]: ./matterbridge: line 1: Not: command not found
2020-06-19T19:10:14.732134+00:00 heroku[web.1]: Process exited with status 127
2020-06-19T19:10:14.787002+00:00 heroku[web.1]: State changed from starting to crashed

Я попытался посмотреть через heroku ps:exec, могу ли я увидеть структуру папок. Но поскольку дино выходит после сбоя, это невозможно. И я также попытался запустить heroku local, чтобы узнать, собирается ли приложение локально. Но это не так.

Как я объяснил ранее, пока pu sh и предварительная сборка не загружают другие версии, когда я настраиваю его, я догадался, что активировано избыточное кэширование. Вот и попробовал очистить кеш с помощью heroku repo:purge_cache.

Может кто мне поможет или подскажет. Заранее спасибо

1 Ответ

0 голосов
/ 25 августа 2020

охай! Я нашел это, когда искал "envsubst heroku" в Google, но потом увидел свое имя и решил щелкнуть по нему :) довольно дико ...!

В любом случае, я думаю, ваша проблема в том, что я жестко запрограммировал загрузку url основан на старом формате именования бинарных ресурсов, которые использовал 42wim:

https://github.com/42wim/matterbridge/releases/download/vX.Y.Z/matterbridge-linux-amd64

, и, похоже, теперь он использует:

https://github.com/42wim/matterbridge/releases/download/vX.Y.Z/matterbridge-X.Y.Z-linux-amd64

Так что просто жестко закодируйте прямую ссылку для загрузки или внесите исправление в сборочный пакет (обратная совместимость будет означать определение места начала изменения имени, что должно произойти где-то после c 2018, когда я работал над этим)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...