Próbuję wdrożyć mój projekt open source na heroku, z konieczności jest to bardzo proste, wystarczy statyczny kod HTML i javascript. Ale czy nie obsługują witryn statycznych? Wolałbym nie robić z tego projektu Sinatra, jeśli nie planuję kiedykolwiek używać niczego oprócz html i 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
źródło
źródło
Prostym sposobem jest zamaskowanie aplikacji HTML jako aplikacji PHP. Heroku poprawnie identyfikuje aplikacje PHP.
Utwórz plik index.php i dołącz swój plik html. Jeśli Twój plik wejściowy HTML nosi nazwę home.html zgodnie z zaleceniami, plik index.php powinien wyglądać następująco:
<?php include_once("home.html"); ?>
W linii poleceń na maszynie, z której pchasz, wpisz:
git add .
git commit -m 'your commit message'
git push heroku master
Heroku powinno teraz poprawnie wykryć twoją aplikację jako aplikację 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 ...
Szalone podziękowania dla lemiffe za jego wpis na blogu: http://www.lemiffe.com/how-to-deploy-a-static-page-to-heroku-the-easy-way/
źródło
git init
aby uzyskać polecenia git i a,heroku create
aby polecenie heroku działałoOto bardziej elegancka metoda: po prostu dodaj plik o nazwie,
package.json
który mówi Heroku, aby używał harfy jako serwera:{ "name": "my-static-site", "version": "1.0.0", "description": "This will load any static html site", "scripts": { "start": "harp server --port $PORT" }, "dependencies": { "harp": "*" } }
a następnie wdrożyć w Heroku. Gotowe!
Więcej informacji: https://harpjs.com/docs/deployment/heroku
źródło
harp server
z jakiegoś powodu nie mógł załadować plikuless file
. Próbowałem zphp answer
powyższym i zadziałało. Chociaż to rozwiązanie jest naprawdę proste. Dzięki ...Oto, co zadziałało dla mnie:
Jeśli punktem wejścia jest
main.html
, utwórzindex.php
z tym pojedynczym wierszem treści:<?php include_once("main.html"); ?>
a następnie wykonaj następujące czynności:
echo '{}' > composer.json git add . git commit -am "first commit" git push heroku master
Wejdź na http://myApp.herokuapp.com/, a Twoja aplikacja powinna być teraz online.
źródło
Jest na to bardzo łatwy sposób, na wypadek gdyby ktoś stwierdził, że powyższe odpowiedzi są trudne do zrozumienia.
Masz swoją statyczną stronę internetową z
index.html
katalogiem głównym w (powiedzmy), teraz chcesz ją wdrożyć w Heroku, jak?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 - {}
Teraz po prostu biegnij
git push heroku master
i gotowe!źródło
Wiem, że to może być trochę stare, ale ostatecznie użyłem Vienna Gemw do wdrożenia tego, w zasadzie jest to mała aplikacja Rack, która pozwoli Ci obsłużyć wszystko w twoim folderze publicznym (css, images, js, html) za pomocą zaledwie kilku linii Rubiego:
require 'vienna' run Vienna
Ponadto, aby wdrożyć to na Heroku, musisz utworzyć Gemfile:
source 'https://rubygems.org' gem 'rack' gem 'vienna'
Następnie uruchom instalację pakietu, jeśli nie masz zainstalowanego klejnotu pakietu, po prostu uruchom na swoim terminalu:
I to prawie wszystko, więcej informacji możesz znaleźć na: http://kmikael.com/2013/05/28/creating-static-sites-in-ruby-with-rack/
źródło
Wykonaj poniższe czynności
Krok 1
Rodzaj
touch composer.json index.php index.html
Krok 2 w typie index.php:
<?php include_once("index.html"); ?>
i w typie composer.json {}
Krok 3
git add . git commit -m "[your message]" git push ['yourrepo'] ['yourbranch']
źródło
Hmmm ... jednym z powodów, dla których heroku odrzuca aplikację może być próba wykrycia potoku aktywów w aplikacjach rails 3.1.x.
Dlaczego nie utworzyć aplikacji na domyślnym stosie Bamboo , uruchamiając po prostu
Następnie wszystkie pliki js i css mogą przejść do folderu publicznego w aplikacji rails z wyłączonym potokiem aktywów.
źródło
Cóż, ilekroć twoja strona internetowa zawiera HTML, CSS i JavaScript, wykonaj tylko 2 kroki:
1) Zrób jeden plik i nadaj mu nazwę index.html (zachowaj wszystko w nim) np: skrypt, arkusz stylów i treść.
2) Teraz zmień te pliki, skopiuj i wklej ten sam plik, ale zmień domenę na index.php
Następnie umieść na Heroku.
Dlatego ta metoda pomoże Ci wdrożyć Twoje strony internetowe
źródło
Aktualizacja 2020:
Jeśli otrzymasz pustą stronę z wymienioną tutaj odpowiedzią PHP, spróbuj tego - Jeśli Twoja strona główna znajduje się pod adresem
index.html
:echo '<?php header( 'Location: /index.html' ) ; ?>' > index.php echo '{}' > composer.json
Tworzenie repozytorium Git i zatwierdzanie po dodaniu plików:
git init git add . git commit -m "My site ready for deployment."
Wdrożenie Heroku -
heroku login heroku apps:create my-static-site-example git push heroku master
źródło