Lernaによる弾性豆の茎展開
3128 ワード
AWSの弾性豆の木は、迅速に再現性のある方法でアプリを紡ぐための素晴らしいプラットフォームです.それは間違いなくそのquirksなしではありません、そして、あなたがすでにDocker画像展開を転がすための場所にすでに基盤を持っているならば、私はあなたが変わると主張していません.
私はすでにプロジェクトの束のためにそれを使用しているので、私はすでにAWSの生態系(RDSとS 3主に)しているだけでは、ドアの外に製品を取得するタスクの定義(ECS)を心配しない、根本的なEC 2インスタンス(ECS)または法外なコストのスケーリング(あなたを見て).
私も主に私のプロジェクトのためのmonoreposを使用し、Lerna管理するための私のツールである.最後の数ヶ月間、私は完全に私のように物事を行うには、私の弾力性のある豆の木のセットアップを微調整したので、あなたの最後に必要な変更があります.
ほとんど間違いなく私のプロジェクトは以下の通りです.フロントエンド(think app . domain . com) 着陸ページ(ドメイン. com) バックエンド( backend . domain . com ) 潜在的にいくつかのcronラムダである
Lernaでは、以下のようになります.
レバレッジ.エビノギ
これは小さな展開バンドルにとって重要です.私は
ここに私の
Lernaと糸のインストール
弾性beanstalkはすでにインストールされている糸で来ません、それで、あなたはそれをあなた自身でしなければなりません.リポジトリのルートにファイル
このセットアップは、Portabella(https://portabella.io)とブロックフック(https://block-hooks.com)を動かします.私はこれらのファイルを私はそれらを見つけるように改善を更新してください.
私はすでにプロジェクトの束のためにそれを使用しているので、私はすでにAWSの生態系(RDSとS 3主に)しているだけでは、ドアの外に製品を取得するタスクの定義(ECS)を心配しない、根本的なEC 2インスタンス(ECS)または法外なコストのスケーリング(あなたを見て).
私も主に私のプロジェクトのためのmonoreposを使用し、Lerna管理するための私のツールである.最後の数ヶ月間、私は完全に私のように物事を行うには、私の弾力性のある豆の木のセットアップを微調整したので、あなたの最後に必要な変更があります.
ほとんど間違いなく私のプロジェクトは以下の通りです.
Lernaでは、以下のようになります.
- packages/
- common/
- frontend/
- landing/
- backend/
- lambda-1/
- lambda-2/
ここに彼らがいるので、弾力性があるbeanstalkで行く摩擦のない展開を得る若干のヒントがあります.レバレッジ.エビノギ
これは小さな展開バンドルにとって重要です.私は
t2.small
、または可能性がt2.micro
のインスタンスを実行したいとすると、通常のフロントエンドの展開のためにインストールされた1000 +他のモジュールのための反応のようなヘビー級依存関係を持つ小さなマシン上でlerna bootstrap
を行うこれらのマシンを麻痺させる.ここに私の
.ebignore
ファイルが典型的な設定でどのように見えますか.git
terraform/
node_modules/
**/node_modules
packages/frontend
packages/landing
packages/lambda-1
packages/lambda-1
**/dist
**/out
**/build
Lernaと糸のインストール
弾性beanstalkはすでにインストールされている糸で来ません、それで、あなたはそれをあなた自身でしなければなりません.リポジトリのルートにファイル
.ebextensions/yarn.config
を作成します.packages:
yum:
amazon-linux-extras: []
commands:
01_postgres_activate:
command: sudo amazon-linux-extras enable postgresql10
02_postgres_install:
command: sudo yum install -y postgresql-devel
03_install_node:
test: '[ ! -f /usr/bin/node ] && echo "node not installed"'
command: |
echo "Installing node"
sudo curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash -
sudo yum -y install nodejs
04_install_yarn:
test: '[ ! -f /usr/bin/yarn ] && echo "Yarn not found, installing..."'
command: |
echo "Installing yarn"
sudo wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo;
sudo yum -y install yarn;
05_dependencies_install:
command: |
cd /var/app/staging;
sudo yarn;
container_commands:
01_sudo_install:
command: sudo cd /home/webapp && sudo yarn
これはおそらく最適化されるかもしれません、しかし、それはちょうど働きます、そして、それは我々にとって重要であることです.Postgresを使用していない場合は、amazon-linux-extras
のものを削除することができます.このセットアップは、Portabella(https://portabella.io)とブロックフック(https://block-hooks.com)を動かします.私はこれらのファイルを私はそれらを見つけるように改善を更新してください.
Reference
この問題について(Lernaによる弾性豆の茎展開), 我々は、より多くの情報をここで見つけました https://dev.to/alexbh/elastic-beanstalk-deployments-with-lerna-lk5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol