Estoy tratando de implementar un proyecto mío de código abierto en heroku, es por necesidad muy simple con solo html estático y javascript. ¿Pero no admiten sitios estáticos? Preferiría no convertirlo en un proyecto de Sinatra si no planeo usar nada más que html y 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
javascript
heroku
Jeremy Smith
fuente
fuente
Una forma sencilla es disfrazar la aplicación HTML como una aplicación PHP. Heroku identifica correctamente las aplicaciones PHP.
Cree un archivo index.php e incluya su archivo html de entrada. Si su archivo de entrada HTML se llama home.html como se recomienda, su index.php debería verse así:
<?php include_once("home.html"); ?>
En su línea de comando en la máquina desde la que está presionando, escriba:
git add .
git commit -m 'your commit message'
git push heroku master
Heroku debería detectar correctamente su aplicación ahora como una aplicación 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 Thanks a lemiffe por su publicación en el blog: http://www.lemiffe.com/how-to-deploy-a-static-page-to-heroku-the-easy-way/
fuente
git init
para obtener los comandos git y unaheroku create
para que funcione el comandoAquí hay un método más elegante: simplemente agregue un archivo llamado
package.json
que le dice a Heroku que use harp como su servidor:{ "name": "my-static-site", "version": "1.0.0", "description": "This will load any static html site", "scripts": { "start": "harp server --port $PORT" }, "dependencies": { "harp": "*" } }
y luego implementar en Heroku. ¡Hecho!
Más información: https://harpjs.com/docs/deployment/heroku
fuente
harp server
, por alguna razón, no pudo cargar elless file
. Probé con lophp answer
anterior y funcionó. Sin embargo, esta solución es realmente simple. Gracias ...Esto es lo que funcionó para mí:
Si el punto de entrada es
main.html
, creeindex.php
con esta única línea de contenido:<?php include_once("main.html"); ?>
y luego realice los siguientes pasos:
echo '{}' > composer.json git add . git commit -am "first commit" git push heroku master
Vaya a http://myApp.herokuapp.com/ y su aplicación debería estar en línea ahora.
fuente
Hay una manera muy fácil de hacerlo en caso de que a alguien le resulte difícil seguir las respuestas anteriores.
Tiene su sitio web estático con la raíz en
index.html
(digamos), ahora desea distribuirlo en Heroku, ¿cómo?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 - {}
¡Ahora simplemente corre
git push heroku master
y listo!fuente
Sé que esto puede ser un poco antiguo, pero terminé usando Vienna Gemw para implementar esto, básicamente es una pequeña aplicación de Rack que le permitirá servir todo en su carpeta pública (css, images, js, html) con solo un par de líneas de Ruby:
require 'vienna' run Vienna
Además, para implementar esto en heroku necesitas crear un Gemfile:
source 'https://rubygems.org' gem 'rack' gem 'vienna'
Luego ejecute la instalación del paquete, en caso de que no tenga instalada la gema del paquete, simplemente ejecútela en su terminal:
Y eso es prácticamente todo, puedes tener más información en: http://kmikael.com/2013/05/28/creating-static-sites-in-ruby-with-rack/
fuente
Siga estos pasos
Paso 1
Tipo
touch composer.json index.php index.html
Paso 2 en el tipo index.php:
<?php include_once("index.html"); ?>
y en el tipo composer.json {}
Paso 3
git add . git commit -m "[your message]" git push ['yourrepo'] ['yourbranch']
fuente
Hmmm ... una razón por la que heroku está rechazando la aplicación podría ser que está tratando de detectar la canalización de activos en las aplicaciones rails 3.1.x, creo.
¿Por qué no crear su aplicación en la pila predeterminada Bamboo ejecutando solo
Luego, todos sus js y css pueden ir a la carpeta pública en la aplicación rails con la canalización de activos desactivada.
fuente
Bueno, siempre que su página web contenga HTML, CSS y JavaScript, siga solo 2 pasos:
1) Haga que un archivo dé el nombre como index.html (mantenga todo en él) por ejemplo: script, hoja de estilo y cuerpo.
2) Ahora, cambie estos archivos, copie y pegue el mismo archivo pero cambie el dominio a index.php
Luego implemente en un Heroku.
Por lo tanto, este método le ayudará a implementar sus páginas web.
fuente
Actualización 2020:
Si obtiene una página en blanco con la respuesta de PHP mencionada aquí, intente esto: si su página de inicio está en
index.html
:echo '<?php header( 'Location: /index.html' ) ; ?>' > index.php echo '{}' > composer.json
Creando un repositorio de Git y confirmando después de agregar archivos:
git init git add . git commit -m "My site ready for deployment."
Implementación de Heroku -
heroku login heroku apps:create my-static-site-example git push heroku master
fuente