web-dev-qa-db-ja.com

サブフォルダーからの自動化されたherokuデプロイ

Githubからherokuに自動的にデプロイできることは知っていますが、サブフォルダーをgithubからherokuにプッシュするだけの方法は見つかりませんでした。

コマンドラインから、これを次の方法で実行できることがわかります。

git subtree Push --prefix <subfolder> heroku master

ただし、githubとherokuの統合を使用して、コミットがブランチに追加されたときに特定のサブフォルダーを自動的にプルする方法があるかどうかを知りたいです。

23
Divino Neto

2018 Update!herokuで自動デプロイを有効にするには、githubリポジトリのadminアクセス権が必要です。デプロイしたい。

Herokuダッシュボード:

ステップ1)-githubリポジトリをHerokuに接続します

[デプロイ]タブ内で、[デプロイ方法]までスクロールし、Githubアカウントに接続します。リポジトリを見つけて、接続を押します。 herokuは、githubでOauthアプリとして承認されている必要があります。

リポジトリが見つからない場合:githubがHerokuを承認していないか、これを作成していませんリポジトリを作成し、管理者アクセス権があることを確認する必要があります。これが不可能な場合は、Herokuダッシュボードの[アクセス]タブに移動し、管理者を共同編集者として追加して、リポジトリの管理者をHerokuアプリに招待します。次に、管理者はherokuにログインし、ここでステップ1を完了します。その後、次の手順を完了することができます。

手順2)-Heroku Config VarPROJECT_PATHをサーバーフォルダーに設定します

[設定]タブで、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に設定する必要があります。

手順3)-PROJECT_PATHフォルダーをデプロイするHerokuビルドパックを設定します

再び[設定]タブ内に、リポジトリルートをデプロイする代わりに、herokuにフォルダーを探すように指示するビルドパックを追加する必要があります。 herokuにサーバーのタイプ(javascript/node.js、python/Djangoなど)を通知するためのビルドパックがすでに1つあるはずです。

このURLを入力してビルドパックを追加します https://github.com/timanovsky/subdir-heroku-buildpack.git およびこれがビルドパックの先頭にあることを確認しますchain(左側の線をドラッグして、追加した他のビルドパックの上に配置します。

手順4)-自動展開を有効にする

[デプロイ]タブ内で、[自動デプロイ]までスクロールし、黒いボタンをクリックして自動デプロイを有効にします

自動展開が完了しました!次に、ビルドログをチェックして、エラーがないことを確認します

25
noxasaxon

私はそれを機能させることができました。 Python Flaskアプリのserverサブフォルダーがあり、GitHub統合を使用して自動的にデプロイしたいと思いました。

Herokuはビルドパックを使用して、プロジェクトの言語とフレームワークを検出します。それについての詳細 ここ

ビルドパックのソースコードを見つけました ここ 。次に、検出スクリプトを確認する必要があります。 python it checksrequirements.txtファイルの場合、ln -s server/requirements.txt requirements.txtを使用してシンボリックリンクを作成しました。

私のProcfileは次のようになります:web: gunicorn --pythonpath server/api app:app

すべてが機能するようになりました。

4
sap1ens

サブフォルダーから自動展開するために私がしたことは、GitHubで新しいブランチを作成してプッシュすることでした[〜#〜] just [〜#〜]サブフォルダーを作成し、Herokuを自動展開するように設定しましたそのブランチに。

使用する git subtree Push --prefix <subfolder> Origin <branch>サブフォルダーをそのブランチにプッシュします

0
Baruch