Lernaによる弾性豆の茎展開


AWSの弾性豆の木は、迅速に再現性のある方法でアプリを紡ぐための素晴らしいプラットフォームです.それは間違いなくそのquirksなしではありません、そして、あなたがすでにDocker画像展開を転がすための場所にすでに基盤を持っているならば、私はあなたが変わると主張していません.
私はすでにプロジェクトの束のためにそれを使用しているので、私はすでにAWSの生態系(RDSとS 3主に)しているだけでは、ドアの外に製品を取得するタスクの定義(ECS)を心配しない、根本的なEC 2インスタンス(ECS)または法外なコストのスケーリング(あなたを見て).
私も主に私のプロジェクトのためのmonoreposを使用し、Lerna管理するための私のツールである.最後の数ヶ月間、私は完全に私のように物事を行うには、私の弾力性のある豆の木のセットアップを微調整したので、あなたの最後に必要な変更があります.
ほとんど間違いなく私のプロジェクトは以下の通りです.
  • フロントエンド(think app . domain . com)
  • 着陸ページ(ドメイン. com)
  • バックエンド( backend . domain . com )
  • 潜在的にいくつかのcronラムダである
    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)を動かします.私はこれらのファイルを私はそれらを見つけるように改善を更新してください.