質問

Webサービスを作成していて、ソースをgithubに保存し、アプリをherokuで実行したいと考えています。私の正確なシナリオがネット上で取り上げられているのを今のところ見たことがないので、ここで質問させていただきます。

次のようなディレクトリ構造にしたいと考えています。

/project
  .git
  README <-- project readme file
  TODO.otl <-- project outline
  ... <-- other project-related stuff
  /my_rails_app
     app
     config
     ...
     README <-- rails' readme file 

上記において、プロジェクトは以下に相当します。 http://github.com/myuser/project, my_rails_app は、heroku にプッシュする必要があるコードです。Rails アプリ用に別のブランチが必要ですか、それとももっと簡単な方法がありませんか?

私のプロジェクト関連の非 Rails ファイルは my_rails_app に存在できると思いますが、Rails README はすでにそこに存在しており、それを上書きするのは矛盾しているようです。ただし、このままにしておくと、Rails アプリの github ページに Rails の Readme が含まれることになり、意味がありません。

また ...上記のように設定して実行してみました

git push heroku

メインプロジェクトフォルダーから。もちろん、heroku は私がサブフォルダーをデプロイしたいことを知りません。

-----> Heroku receiving push
 !     Heroku push rejected, no Rails or Rack app detected.
役に立ちましたか?

解決

ここでは、あなたにとってうまくいくかもしれないし、うまくいかないかもしれない簡単な解決策を紹介します。

  • GitHub 上に 2 つのプロジェクトを作成します。1 つのプロジェクトは Rails アプリだけである必要があります (つまり、Rails アプリ ディレクトリ内のすべて)。もう 1 つのプロジェクトは、Rails アプリ ディレクトリの外にあるすべてのものである必要があります。

  • Rails アプリ プロジェクトを「container」プロジェクト内の git-submodule として追加します。

  • これで、Rails アプリ リポジトリに Heroku をリモートとして個別に追加し、heroku にプッシュできるようになりました。Heroku は、予想されるディレクトリとファイルを備えた単なる Rails アプリであるため、プッシュを受け入れます。

他のヒント

Herokuの状況(ないREADMEファイル)のためのソリューション:

あなたはHerokuのシーダーのrel="nofollow">新しいフォアマンに。このように、あなたは次のようになり、ルートgithubのディレクトリにProcfileを配置することができます:

web:     my_rails_app/script/runserver.sh

そしてmy_rails_app/script/runserver.shは可能性があり、単純な

#!/bin/sh

cd my_rails_app
bundle exec rails server -p $PORT

ローカルで、あなたはまた、

が含まれてい.envというファイルを(注意してください。先頭に)、作成する必要があります
PORT=3000

このファイルは、職長によって読み取られ、あなたは(Procfileがあるルートgithubのディレクトリから)あなたのマシン上でforeman startを実行したときにポートが設定されているように、環境変数を設定するために使用されます。 Herokuのサーバーは、あなたのダイノに.envファイルの世話をします。大きな利点は、あなたがそのようダイナモ上で複数のプロセスを設定することができます!

ただ、RailsのデフォルトのREADMEファイルを上書きします。それを周りに維持する理由はありません。 docディレクトリ内の他のプロジェクト管理に関連するものを入れてください。あなたは確かにあなたがやった方法でそれを設定したいのための正当な理由がありますが、あなただけの慣例に反することで自分自身のために頭痛を作成している、そしてそれはおそらく利益の価値はありません。

私はHerokuののgitリポジトリに/my_rails_appの下にすべてを追加します。その後、GitHubをリモートに追加し、GitHubのリポジトリに/projectの下にすべてを追加します。そして、あなたは(/my_rails_appから)(/projectから)HerokuのにRailsアプリケーションをプッシュし、GitHubのに完全なプロジェクトをプッシュすることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top