Можно ли загрузить простую структуру html и javascript файлов в герою?

Я пытаюсь развернуть мой проект с открытым исходным кодом для heroku, он по необходимости очень прост с помощью только статических html и javascript. Но не поддерживают ли они статические сайты? Я бы предпочел не сделать это проектом Sinatra, если я не планирую когда-либо использовать что-либо, кроме html и javascript.

~/sites/d4-site $ heroku create --stack cedar
Creating quiet-ice-4769... done, stack is cedar
http://quiet-ice-4769.herokuapp.com/ | [email protected]:quiet-ice-4769.git
Git remote heroku added


~/sites/d4-site $ git remote -v
heroku  [email protected]:quiet-ice-4769.git (fetch)
heroku  [email protected]:quiet-ice-4769.git (push)


~/sites/d4-site $ git push heroku master
Counting objects: 53, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (49/49), done.
Writing objects: 100% (53/53), 206.08 KiB, done.
Total 53 (delta 4), reused 0 (delta 0)

-----> Heroku receiving push
-----> Removing .DS_Store files
 !     Heroku push rejected, no Cedar-supported app detected

Ответ 1

Вы можете использовать стойку, чтобы сделать это:

https://devcenter.heroku.com/articles/static-sites-on-heroku

или вы можете использовать что-то вроде Octopress/Jekyll, который использует синатра.

Но вам нужен минимальный стек для обслуживания статического содержимого html

Ответ 2

Простым способом является маскировка приложения HTML как приложения PHP. Heroku правильно идентифицирует PHP-приложения.

  • Переименуйте файл index.html в home.html.
  • Создайте файл index.php и включите ваш html файл. Если ваш HTML файл записи называется home.html, как рекомендуется, ваш index.php должен выглядеть так:

    <?php include_once("home.html"); ?>

  • В командной строке на машине, с которой вы нажимаете, введите:

    git add .
    git commit -m 'your commit message'
    git push heroku master

Heroku должен правильно определить ваше приложение сейчас как приложение php:

-----> PHP app detected
-----> Bundling Apache version 2.2.22
-----> Bundling PHP version 5.3.10
-----> Discovering process types
       Procfile declares types -> (none)
       Default types for PHP   -> web

-----> Compiled slug size: 9.9MB
-----> Launching... done, v3
...

Mad Благодаря lemiffe для своего блога: http://www.lemiffe.com/how-to-deploy-a-static-page-to-heroku-the-easy-way/

Ответ 3

Вот более элегантный метод: просто добавьте файл с именем package.json, который говорит Heroku использовать harp как ваш сервер:

{
  "name": "my-static-site",
  "version": "1.0.0",
  "description": "This will load any static html site",
  "scripts": {
    "start": "harp server --port $PORT"
  },
  "dependencies": {
    "harp": "*"
  }
}

а затем развернитесь в Heroku. Готово!

Дополнительная информация: https://harpjs.com/docs/deployment/heroku

Ответ 4

Вот что сработало для меня:

cd myProject 
git init
heroku create myApp 
heroku git:remote -a myApp 

Если точка входа main.html, создайте index.php с помощью этой единственной строки содержимого:

<?php include_once("main.html"); ?>

а затем выполните следующие шаги:

echo '{}' > composer.json 
git add . 
git commit -am "first commit" 
git push heroku master

Перейдите в http://myApp.herokuapp.com/, и ваше приложение должно быть в сети.

Ответ 5

Есть очень простой способ сделать это на тот случай, если кому-то будет сложно следовать приведенным выше ответам.

У вас есть статический веб-сайт с корнем в index.html (скажем), теперь вы хотите внедрить его в Heroku, как?

git init # initialise a git repo
git add -A # add the files
git commit -m "init commit" # commit the files
# Now add two files in the root, composer.json and index.php like so - 
touch composer.json
touch index.php
# Then add this line to index.php, making a PHP app and just asking it to display index.html - 
<?php include_once("index.html"); ?>
# Now open composer.json and add an empty object - 
{}

Теперь просто запустите git push heroku master и все готово!

Ответ 6

Я знаю, что это может быть немного старым, но я закончил использовать Vienna Gemw, чтобы развернуть это, в основном его небольшое приложение Rack, которое позволит вам обслуживать все в вашей общей папке (css, images, js, html) только с помощью пара строк Ruby:

require 'vienna'
run Vienna

Кроме того, для развертывания этого в heroku вам необходимо создать Gemfile:

source 'https://rubygems.org'
gem 'rack'
gem 'vienna'

Затем запустите установку пакета, если у вас нет установленного набора gem, который запускается только на вашем терминале:

sudo gem install bundle

И это в значительной степени, вы можете получить дополнительную информацию о: http://kmikael.com/2013/05/28/creating-static-sites-in-ruby-with-rack/

Ответ 7

Следуйте этим шагам

Шаг 1

Введите touch composer.json index.php index.html

Шаг 2 в типе index.php:

<?php include_once("index.html"); ?>

и в composer.json типа {}

Шаг 3

git add .

git commit -m "[your message]"

git push ['yourrepo'] ['yourbranch']

Ответ 8

Хммм... одна из причин, по которой герою отвергает приложение, может заключаться в том, что он пытается обнаружить конвейер активов в приложениях rails 3.1.x, которые я думаю.

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

heroku create

Затем все ваши js и css могут попасть в общую папку в приложении rails с отключенным конвейером.

Ответ 9

Хорошо, всякий раз, когда ваша веб-страница содержит HTML, CSS и JavaScript, выполните следующие действия:

1) Сделайте один файл, указав имя index.html(сохраните его в нем) ex: script, таблица стилей и тело.

2) Теперь измените этот файл, скопируйте и вставьте тот же файл, но измените домен на index.php

Затем развернитесь на Heroku.

Следовательно, этот метод поможет вам развернуть ваши веб-страницы