4

PHP プロジェクトを github に保存しています。

迅速な展開のために、変更を AWS Elastic Beanstalk クラウドにプッシュする git に .bat ファイルを使用しています。

"C:\Program Files (x86)\Git\bin\sh.exe" --login -i -c "git aws.push --environment envname"

プッシュの前に毎回コミットを行っていますが、期待どおりに完璧に機能しています。

残念ながら、何らかの理由で、非常に迅速にプッシュする場合があります (PHP コードの変更の違いをプッシュするだけです) が、300 MB のプロジェクト全体 (すべてのメディアを含む) を送信する場合もあります。

変更された差分のみをプッシュする方法はありますか? 送信する前に、プッシュまたは準備 git コマンドに追加のパラメーターがあるのではないでしょうか? または、AWS EB に github リポジトリから最後のコミットをプルするように指示する方法があるのでしょうか?

助けてくれてありがとう。

4

3 に答える 3

2

これはAmazonのバグなので、回避策を実装しました。

サーバーにgitアカウントをセットアップしました(Gitlab、無料のプライベートリポジトリ、無制限のコラボレーターを使用しました)。必要なもの(github、gitlab、サーバー)を使用できます。

あなたと git サーバーの間のプロセスは信頼できます。常に変更をプッシュするだけです。EC2サーバーで、gitサーバーに接続され、EC2サーバーから実行されるgitリポジトリをセットアップします(構成ファイル.ebextensions / * .configを使用するか、手動で行うことができます。すべてのインスタンスでセットアップしないように手動をお勧めします) git pull と git aws.push.

たとえば、git push を実行したときに通知する Web フックをセットアップしてから、git pull と git aws.push を自動的に実行できます。私の場合、SSH を使用していつデプロイするかを決定することを好みます。これは、コミットを git サーバーにプッシュするときとは限りません。

このように、EC2 サーバーから Elastic Beanstalk サーバーへの git aws.push は非常に高速であり、すべてをプッシュするか、変更のみをプッシュするかは関係ありません。

于 2015-04-13T02:50:16.543 に答える