Можно ли загрузить простую структуру 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.
Следовательно, этот метод поможет вам развернуть ваши веб-страницы