Herokuノードにプッシュしたいgithubリポジトリがあります。 3番目のホストがこれを調整します。これを大規模に行うので、リポジトリのコンテンツを3番目のホストにダウンロードする必要がないようにします。どうすればいいのですか?
GithubからHerokuに直接プッシュすることはできません。
プッシュを調整するには、3番目のホストを使用する必要があります。これは、Githubの受信後フックから発生する可能性があります。
直接同期するには、次のようなものを使用します。
git remote add github [email protected]:user/repo.git
git remote add heroku [email protected]:app.git
git Push heroku refs/remotes/github/master:refs/heads/master
Codeship.io これをサービスとして実行し、パブリックまたはプライベートのgithubリポジトリで適切なgitwebhookを自動的に構成します。
他にもいくつかの「サービスとしての継続的インテグレーション」(CIAAS)オプションがありますが、一般的には、具体的に提示している問題を回避します。Webフックはサードパーティのサービスにヒットする必要があり、これにより、 herokuビルドプロセス。
これらのCIAASホストはサードパーティとして機能し、通常、公共プロジェクトに無料の階層を提供します。 gitリポジトリをプルおよびプッシュできるWebフック受信サーバーをデプロイすることで独自のロールを作成することもできます。
codeship.io に関する前回の回答から約1年後、Herokuは適切なGithub統合を含むパイプライン機能セットの始まりを発表しました。
https://devcenter.heroku.com/articles/github-integration
パイプラインフロー全体は非常に強力であり、ブランチ、複数のアプリのデプロイ、ステージング->本番プロモーションなどに基づく一時的なインスタンスが可能です。詳細については、Herokuの 概要記事 を参照してください。
GitHubから別のリモートリポジトリに直接プッシュすることはできないと思います。
したがって、プッシュするアプリが多数ある場合は、サブモジュールを使用している組織を検討することができます このSO質問 のように。
Herokuノードにプッシュするにはリポジトリをダウンロードする必要がありますが、少なくともプル/プッシュする対象を制御できます(各プッシュの間にクリーニングを実行できます)。