単純なhtmlおよびjavascriptファイル構造をherokuにアップロードすることは可能ですか?


83

私は自分のオープンソースプロジェクトをherokuにデプロイしようとしています。必然的に、静的なhtmlとjavascriptだけで非常にシンプルになります。しかし、それらは静的サイトをサポートしていませんか?htmlとjavascript以外のものを使用する予定がない場合は、Sinatraプロジェクトにしたくありません。

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


~/sites/d4-site $ git remote -v
heroku  git@heroku.com:quiet-ice-4769.git (fetch)
heroku  git@heroku.com: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

回答:


13

これを行うには、ラックを使用できます。

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

または、シナトラを使用するOctopress / Jekyllのようなものを使用できます。

ただし、HTML静的コンテンツを提供するには最小限のスタックが必要です


16
OPはRubyソリューションを要求しませんでした。
Adam Arold 2015年

22
私の文章をもう一度読んでください。
アダムアロルド2015年

214

簡単な方法は、HTMLアプリをPHPアプリに見せかけることです。HerokuはPHPアプリを適切に識別します。

  1. index.htmlファイルの名前をhome.htmlに変更します。
  2. index.phpファイルを作成し、エントリのhtmlファイルを含めます。HTMLエントリファイルの名前が推奨どおりhome.htmlの場合、index.phpは次のようになります。

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

  3. プッシュ元のマシンのコマンドラインで、次のように入力します。

    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
...

マッド彼のブログ投稿をしてくれたlemiffeに感謝しますhttp//www.lemiffe.com/how-to-deploy-a-static-page-to-heroku-the-easy-way/


28
これははるかに単純であり、正解として受け入れられる必要があります
Glenn Bech 2014年

3
注:これを機能させるには、最初にcomposer.jsonを追加する必要がありました。devcenter.heroku.com/articles/...
happygilmore

本当に、本当に良いです。Node.jsをいじくり回す手間が省けました。ありがとうございました!
davidkelleher 2014年

git initgitコマンドを取得するにはaを実行しheroku create、herokuコマンドを機能させるにはaを実行する必要がある場合があります
joncodo 2015年

5
さらに簡単にするために、index.htmlの名前をindex.phpに変更するだけです
ChairmanMeow

38

より洗練された方法は次のとおりです。サーバーとしてharppackage.jsonを使用するようにHerokuに指示するというファイルを追加するだけです。

{
  "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


3
すべての回答の中で、これは2016
Sergio Majluf

2
ええ、これは素早く簡単です
user2431114 2016

harp server、何らかの理由で、をロードできませんでしたless filephp answer上記で試してみましたが、うまくいきました。ただし、このソリューションは非常に簡単です。おかげで...
Aakash

12

これが私のために働いたものです:

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

エントリポイントがの場合、次の1行のコンテンツ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

上記の答えを理解するのが難しいと誰かが思った場合に備えて、非常に簡単な方法があります。(たとえば)に

ルートを持つ静的Webサイトがありますが、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完了です。


2

これは少し古いかもしれませんが、Vienna Gemwを使用してこれをデプロイすることになりました。基本的には、パブリックフォルダー(css、images、js、html)内のすべてを数行で提供できる小さなRackアプリケーションです。 Rubyの:

require 'vienna'
run Vienna

また、これをherokuにデプロイするには、Gemfileを作成する必要があります。

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

次に、bundle installを実行します。バンドルgemがインストールされていない場合は、ターミナルで実行するだけです。

sudo gem install bundle

そして、それはほとんどそれです、あなたはより多くの情報を持つことができます:http//kmikael.com/2013/05/28/creating-static-sites-in-ruby-with-rack/


2

この手順に従ってください

ステップ1

タイプ touch composer.json index.php index.html

index.phpタイプのステップ2

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

そしてcomposer.jsonタイプ{}

ステップ3

git add .

git commit -m "[your message]"

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

0

うーん... herokuがアプリを拒否している理由の1つは、Rails3.1.xアプリでアセットパイプラインを検出しようとしていることだと思います。

実行するだけで、デフォルトのスタックBambooにアプリを作成してみませんか

heroku create

次に、すべてのjsとcssを、アセットパイプラインが非アクティブ化された状態でrailsアプリのパブリックフォルダーに移動できます。


5
Railsを使用して静的コンテンツを提供することを考えると、誰かを傷つけたくなります:)
Jeremy Smith

js / html / cssしかない場合は、node.jsアプリケーションを探します。実行しようとしているスタックに関係なく、見つからない場合は失敗します。
fresh5447 2014

0

そうですね、WebページにHTML、CSS、JavaScriptが含まれている場合は、次の2つの手順に従ってください。

1)1つのファイルにindex.htmlという名前を付けます(evreythingをその中に保持します)ex:script、stylesheet&body。

2)ここで、これらのファイルを変更し、これらの同じファイルをコピーして貼り付けますが、ドメインをindex.phpに変更します

次に、Herokuにデプロイします。

したがって、この方法はWebページの展開に役立ちます


0

2020年の更新:

ここに記載されているPHPの回答が記載された空白のページが表示された場合は、これを試してください-ホームページが次の場所にある場合index.html

echo '<?php header( 'Location: /index.html' ) ;  ?>' > index.php
echo '{}' > composer.json

Gitリポジトリを作成し、ファイルを追加した後にコミットします:

git init
git add .
git commit -m "My site ready for deployment."

Herokuのデプロイ-

heroku login
heroku apps:create my-static-site-example
git push heroku master
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.