4

アプリの開発に使用した git リポジトリがあり、Heroku にデプロイしたいと考えています。ただし、このリポジトリ自体をデプロイするのではなく、このリポジトリ内のコードのビルドをデプロイしたいと考えています。私のビルド システムはdist、レポ ディレクトリ内にディレクトリを作成します。このディレクトリには、どこにでも展開するために必要なすべてのものが含まれています。.gitignore では無視されるように設定されています。これは、いつでも再構築でき、冗長になるため、保存する必要がないためです。ただし、Heroku にはデプロイ用の git リポジトリが必要です。distHeroku 用に保持している他のリポジトリに出力を手動でコピーすることもできますが、それは非常に見苦しく思えます。ソースを開発し、デプロイコードをビルドし、前者を GitHub/Lab に、後者を Heroku にプッシュできるようにしたいと考えています。

私が望むのは次のようなものです:私のdistフォルダーは、Herokuを満たすための独自のgitリポジトリであり、親開発リポジトリの履歴には含まれていません。つまり、開発リポジトリをGitHubまたはGitLabにプッシュすると、distフォルダーは無視されます. のコンテンツdistを Heroku にプッシュすると、それが開発プロジェクトに含まれているという事実が認識されません。このようにして、ビルド プロセスはデプロイ リポジトリを自動的に変更し、必要に応じてデプロイ イベントをマークするためにコミットできます。

よくわからないのは、可能であれば、これを設定する方法です。サブモジュールについて恐ろしいことを聞いたことがありますが、それが仕事に適したツールであるかどうかさえわかりません. ここでは、親リポジトリ内にのみ存在するリポジトリを作成したいと考えています。

私が求めたものよりも優れたものを知っている同様の設定を持つ他の人がいる場合、私はアイデアを受け入れます.

4

1 に答える 1

4

「dist」という名前の別のブランチを作成します。

git checkout -b 'dist'

そして、そのブランチ内で、「dist」フォルダーが含まれるように gitignore ファイルを変更します。

次に、次のように dist ブランチを heroku にプッシュします。

git push heroku dist:master

それはあなたのために働きますか?

于 2013-08-12T09:47:12.553 に答える