CLI を使用して、アプリケーション全体の zip を Elastic Beanstalk にアップロードすることは可能でしょうか? 現在、私は git aws.push を使用していますが、問題は、デプロイ後にインストールする必要があるベンダーの依存関係がアプリにあることです。CLI から zip を直接アップロードできれば、jenkins ビルド サーバーにすべてのベンダーをインストールさせ、アプリ全体を圧縮してから EBS にアップロードできます。
1 に答える
これは「Elastic Beanstalk」としてタグ付けされているため、アプリを EBS ではなく S3 にプッシュしようとしていると仮定します。アプリのバージョンは S3 バケットに保存され、Beanstalk デプロイ スクリプトはバケットから .zip を EBS ボリュームにダウンロードし、.zip で抽出してから、.zip/tmp
にコードをコピーします/var/www/html
。実際には、EBS ボリュームに直接何かをアップロードすることはありません (そうすべきではありません)。
依存関係が PHP ライブラリである場合は、それらをアプリケーション ソース バンドルに含めるだけです。ただし、依存関係に/var/www/html
(Apache モジュールやその他のバイナリなど) 以外の場所にインストールされているファイルが含まれている場合は、展開中に Elastic Beanstalk と PHP を使用して (簡単に) それを行うことはできません。SSH で接続し、依存関係をインストールし、インスタンスのカスタム AMI を「焼き付け」、Beanstalk 環境設定でそのカスタム AMI を指定する必要があります。
このカスタム AMI を維持する責任があるため、これはやや醜い回避策ですが、Amazon が提供するストック イメージを使用すると、セキュリティ修正などを含む新しいバージョンを定期的にリリースすることができます。 AWS 製品開発チームは猛スピードで動いています。ほんの数週間前、Beanstalk チームは、プロビジョニング用にPuppet のような構成スクリプトを導入しました。これはおそらくまさにあなたが必要としているものですが、残念ながら Java と Python の環境しかサポートしていません。ただし、PHP サポートは間もなくリリースされると思いますので、注目しておいてください。