Використання Yarn з AWS Elastic Beanstalk у 2024 році

pic

Фото Rachael Gorjestani на Unsplash

Нещодавно я натрапив на публічний Docker образ, який виглядав досить цікаво. Для потреб клієнта цей образ потрібно було розмістити на AWS. Щоб це запустити, все, що було потрібно — це файл Dockerrun.aws.json.

{  
 "AWSEBDockerrunVersion": "1",  
 "Image": {  
 "Name": "cruise/webviz"  
 },  
 "Ports": [  
 {  
 "ContainerPort": 8080,  
 "HostPort": 8080  
 }  
 ]  
}

На AWS необхідно створити нове середовище Elastic Beanstalk, вибрати опцію "Create environment":

pic

Створити середовище

Виберіть платформу Docker:

pic

Платформа

Оберіть завантажити ваш код і завантажте файл Dockerrun.aws.json, який ви створили.

pic

Завантаження вихідного коду

Ось і все, тепер у вас є працююча версія Docker образу на Elastic Beanstalk.
Наприклад, якщо ваш CI/CD пайплайн налаштований на використання папки dist як артефакта збірки, можливо, вам потрібно буде виконати команду cp -r .platform dist/ як частину вашого CI/CD скрипту.

Не вдалося розгорнути нову конфігурацію

Це, ймовірно, сталося тому, що ви або забули скопіювати скрипти до confighooks/.., або вміст скриптів відрізняється між /hooks і /confighooks. Щоб виправити цю проблему, виконайте наступне:

  1. Видаліть все вміст з .platform/confighooks
  2. Скопіюйте все з директорії .platform/hooks до .platform/confighooks

Помилка виконання інтерпретатора… з “command not found: corepack”

Це сталося тому, що ви використовуєте новішу версію Amazon Linux 2023, яка не містить corepack за замовчуванням. Дивіться розділ "Додаткові кроки для Amazon Linux 2023" для вирішення цієї проблеми.

Помилка виконання інтерпретатора… з “Permission denied”

Якщо ви бачите подібне, ймовірно, проблема в тому, що Elastic Beanstalk не має прав на виконання створених нами скриптів. Вам потрібно буде виконати команду chmod +x для кожного скриптового файлу, а потім знову розгорнути ваше застосування.

Якщо ви все ще стикаєтеся з проблемами, залишайте коментар, і я обов'язково відповім!

Перекладено з: Using Yarn with AWS Elastic Beanstalk in 2024

Leave a Reply

Your email address will not be published. Required fields are marked *