간단한 html 및 javascript 파일 구조를 heroku에 업로드 할 수 있습니까?


84

내 오픈 소스 프로젝트를 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

답변:



215

간단한 방법은 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
...

Mad lemiffe의 블로그 게시물에 감사드립니다 : http://www.lemiffe.com/how-to-deploy-a-static-page-to-heroku-the-easy-way/


28
이 간단한 방법이며, 정답으로 인정해야한다
글렌 BECH

3
참고 :이 작업을 수행하려면 먼저 composer.json을 추가해야했습니다. devcenter.heroku.com/articles/...
happygilmore

정말, 정말 좋아요. Node.js로 많은 문제를 해결했습니다. 감사합니다!
davidkelleher 2014

git initgit 명령을 얻으려면 a를 수행 heroku create하고 heroku 명령을 작동하려면 a 를 수행해야 할 수 있습니다.
joncodo

5
그것도 간단하게 당신이 단지의 index.php에 index.html을 이름을 바꿀 수 있습니다 만들려면
ChairmanMeow

38

다음은 더 우아한 방법입니다. package.jsonHeroku가 서버로 하프 를 사용하도록 지시 하는 파일을 추가하면됩니다 .

{
  "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 년 11 월 현재 작동중인 답변입니다
Sergio Majluf

2
네, 이것은 빠르고 간단합니다
user2431114 dec.

harp server은 (는) 어떤 이유로을 (를)로드 할 수 없습니다 less file. php answer위의 방법으로 시도했는데 효과가있었습니다. 하지만이 솔루션은 정말 간단합니다. 감사합니다 ...
Aakash

12

나를 위해 일한 것은 다음과 같습니다.

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하면 완료됩니다!


2

조금 오래되었을 수도 있지만 결국 Vienna Gemw를 사용하여 배포했습니다. 기본적으로 공용 폴더 (css, 이미지, js, html)에있는 모든 항목을 단 몇 줄로 제공 할 수있는 작은 랙 응용 프로그램입니다. 루비의 :

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/ 에서 더 많은 정보를 얻을 수 있습니다.


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가 앱을 거부하는 한 가지 이유는 레일스 3.1.x 앱에서 자산 파이프 라인을 감지하려고하기 때문일 수 있습니다.

그냥 실행 하여 기본 스택 Bamboo 에 앱을 생성하지 않는 이유

heroku create

그런 다음 모든 js 및 css는 자산 파이프 라인이 비활성화 된 상태에서 rails 앱의 공용 폴더로 이동할 수 있습니다.


5
정적 컨텐츠를 제공하기 위해 레일을 사용하는 생각 날 :) 상처 사람 싶
제레미 스미스

js / html / css 만있는 경우 node.js 애플리케이션을 찾습니다. 실행하려는 스택에 관계없이 찾지 못하면 실패합니다.
fresh5447 2014 년

0

웹 페이지에 HTML, CSS 및 JavaScript가 포함될 때마다 다음 두 단계 만 따르십시오.

1) 하나의 파일에 index.html로 이름을 지정합니다 (예 : 스크립트, 스타일 시트 및 본문).

2) 이제이 파일을 변경하고 동일한 파일을 복사하여 붙여 넣으 되 도메인을 index.php로 변경하십시오.

그런 다음 Heroku에 배포합니다.

따라서이 방법은 웹 페이지를 배포하는 데 도움이됩니다.


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.