web-dev-qa-db-ja.com

リポジトリをダウンロードせずにgithubからherokuにプッシュ

Herokuノードにプッシュしたいgithubリポジトリがあります。 3番目のホストがこれを調整します。これを大規模に行うので、リポジトリのコンテンツを3番目のホストにダウンロードする必要がないようにします。どうすればいいのですか?

37
opsb

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
47
David Dollar

Codeship.io これをサービスとして実行し、パブリックまたはプライベートのgithubリポジトリで適切なgitwebhookを自動的に構成します。

他にもいくつかの「サービスとしての継続的インテグレーション」(CIAAS)オプションがありますが、一般的には、具体的に提示している問題を回避します。Webフックはサードパーティのサービスにヒットする必要があり、これにより、 herokuビルドプロセス。

これらのCIAASホストはサードパーティとして機能し、通常、公共プロジェクトに無料の階層を提供します。 gitリポジトリをプルおよびプッシュできるWebフック受信サーバーをデプロイすることで独自のロールを作成することもできます。

2
everyplace

codeship.io に関する前回の回答から約1年後、Herokuは適切なGithub統合を含むパイプライン機能セットの始まりを発表しました。

https://devcenter.heroku.com/articles/github-integration

パイプラインフロー全体は非常に強力であり、ブランチ、複数のアプリのデプロイ、ステージング->本番プロモーションなどに基づく一時的なインスタンスが可能です。詳細については、Herokuの 概要記事 を参照してください。

0
everyplace

GitHubから別のリモートリポジトリに直接プッシュすることはできないと思います。

したがって、プッシュするアプリが多数ある場合は、サブモジュールを使用している組織を検討することができます このSO質問 のように。

Herokuノードにプッシュするにはリポジトリをダウンロードする必要がありますが、少なくともプル/プッシュする対象を制御できます(各プッシュの間にクリーニングを実行できます)。

0
VonC