Githubからherokuに自動的にデプロイできることは知っていますが、サブフォルダーをgithubからherokuにプッシュするだけの方法は見つかりませんでした。
コマンドラインから、これを次の方法で実行できることがわかります。
git subtree Push --prefix <subfolder> heroku master
ただし、githubとherokuの統合を使用して、コミットがブランチに追加されたときに特定のサブフォルダーを自動的にプルする方法があるかどうかを知りたいです。
2018 Update!herokuで自動デプロイを有効にするには、githubリポジトリのadminアクセス権が必要です。デプロイしたい。
[デプロイ]タブ内で、[デプロイ方法]までスクロールし、Githubアカウントに接続します。リポジトリを見つけて、接続を押します。 herokuは、githubでOauthアプリとして承認されている必要があります。
リポジトリが見つからない場合:githubがHerokuを承認していないか、これを作成していませんリポジトリを作成し、管理者アクセス権があることを確認する必要があります。これが不可能な場合は、Herokuダッシュボードの[アクセス]タブに移動し、管理者を共同編集者として追加して、リポジトリの管理者をHerokuアプリに招待します。次に、管理者はherokuにログインし、ここでステップ1を完了します。その後、次の手順を完了することができます。
[設定]タブで、config varを設定して、デプロイするサーバーコードを見つけるためのパスをHerokuに指示します。
例:リポジトリ名がMyRepoで、2つのサブフォルダーがあるとします。 back-end
にはNode.jsサーバーが含まれ、front-end
にはReactアプリが含まれます。githubディレクトリは次のようになります:
MyRepo/front-end/package.json MyRepo/back-end/package.json
次に、構成変数を左側のボックスでPROJECT_PATH
に設定し、右側のボックスでback-end
に設定する必要があります。
再び[設定]タブ内に、リポジトリルートをデプロイする代わりに、herokuにフォルダーを探すように指示するビルドパックを追加する必要があります。 herokuにサーバーのタイプ(javascript/node.js、python/Djangoなど)を通知するためのビルドパックがすでに1つあるはずです。
このURLを入力してビルドパックを追加します https://github.com/timanovsky/subdir-heroku-buildpack.git およびこれがビルドパックの先頭にあることを確認しますchain(左側の線をドラッグして、追加した他のビルドパックの上に配置します。
[デプロイ]タブ内で、[自動デプロイ]までスクロールし、黒いボタンをクリックして自動デプロイを有効にします
私はそれを機能させることができました。 Python Flaskアプリのserver
サブフォルダーがあり、GitHub統合を使用して自動的にデプロイしたいと思いました。
Herokuはビルドパックを使用して、プロジェクトの言語とフレームワークを検出します。それについての詳細 ここ 。
ビルドパックのソースコードを見つけました ここ 。次に、検出スクリプトを確認する必要があります。 python it checksrequirements.txt
ファイルの場合、ln -s server/requirements.txt requirements.txt
を使用してシンボリックリンクを作成しました。
私のProcfileは次のようになります:web: gunicorn --pythonpath server/api app:app
。
すべてが機能するようになりました。
サブフォルダーから自動展開するために私がしたことは、GitHubで新しいブランチを作成してプッシュすることでした[〜#〜] just [〜#〜]サブフォルダーを作成し、Herokuを自動展開するように設定しましたそのブランチに。
使用する git subtree Push --prefix <subfolder> Origin <branch>
サブフォルダーをそのブランチにプッシュします