내 오픈 소스 프로젝트를 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
답변
랙을 사용하여 다음을 수행 할 수 있습니다.
https://devcenter.heroku.com/articles/static-sites-on-heroku
또는 sinatra를 사용하는 Octopress / Jekyll과 같은 것을 사용할 수 있습니다.
하지만 HTML 정적 콘텐츠를 제공하려면 최소 스택이 필요합니다.
답변
간단한 방법은 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/
답변
다음은 더 우아한 방법입니다. package.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에 배포합니다. 끝난!
답변
나를 위해 일한 것은 다음과 같습니다.
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/으로 이동하면 앱이 이제 온라인 상태가됩니다.
답변
위의 답변을 따르기 어려운 경우를 대비하여 매우 쉬운 방법이 있습니다.
루트가있는 정적 웹 사이트가 있습니다 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
하면 완료됩니다!
답변
조금 오래되었을 수도 있지만 결국 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/ 에서 더 많은 정보를 얻을 수 있습니다.
답변
이 단계를 따르십시오
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']