Heroku допускает веб-хостинг, но что вы знаете? Они не размещают статические веб-сайты с HTML, CSS и JS.

Первоначальная попытка сделать это, я столкнулась со следующей ошибкой журнала сборки:

!     No default language could be detected for this app.
HINT: This occurs when Heroku cannot detect the buildpack to use for this application automatically.
See https://devcenter.heroku.com/articles/buildpacks
!     Push failed

После ожидаемого облегчения, связанного с развертыванием дневной тяжелой работы, появился push failed журнал. Так что же мы сделали не так на этот раз? Что такое buildpack? Позвольте мне упростить вам задачу.

Пакеты сборки состоят из набора сценариев в зависимости от используемого языка программирования. Эти сценарии отвечают за преобразование развернутого кода перед его выполнением в диспетчере динамического оборудования. (Сценарии собирают зависимости, которые затем выводят сгенерированный код. При отправке в Heroku код получает компилятор слагов, который преобразует репо в слаг и отправляет на динамометрический стенд для выполнения).

На справочной странице Heroku перечислены поддерживаемые пакеты сборки: Ruby, Node.js, Clojure, Python, Java, Gradle, Grails, Scala, Play, PHP, Go. Эти пакеты сборки ищутся в развернутом репо на основе указанного используемого языка. Однако пакеты сборки не предлагаются для типичных языков HTML, CSS, Javascript. Это объясняет полученную вами ошибку: «Не удалось определить язык по умолчанию для этого приложения».

Не волнуйтесь, это легко исправить для вашего портфолио или личного блога. Небольшая уловка, чтобы заставить Heroku распознавать файлы вашего статического веб-сайта, заключается в том, чтобы заставить его превратить его в приложение PHP. Ага, PHP.

Это основано на предположении, что ваше приложение Heroku полностью настроено, и последний оставшийся шаг - это процесс развертывания. Вот простое, но не оспариваемое вами решение:

  1. Перейдите в корневой каталог вашего проекта, который содержит index.html (главная HTML-страница).
  2. В этом каталоге запустите touch composer.json, чтобы создать файл: composer.json.
  3. Внутри файла добавьте следующую строку: {}
  4. В том же каталоге запустите touch index.php, чтобы создать файл: index.php.
  5. Внутри файла добавьте следующую строку: <?php include_once("index.html"); ?>
  6. Теперь зафиксируйте и отправьте эти два новых файла в свой репозиторий. Вы также можете использовать команду Heroku git push heroku master. Подождите, пока автоматическое развертывание сработает.

..И тада! Теперь у вас есть доступ к вашему веб-сайту Heroku, который работает на your-website.herokuapp.com.