Как я могу изменить каталог на развертывание-архив для запуска gulp?

Я использую код развертывания aws для развертывания сервера nodejs в экземпляре ec2.

Агент развертывания кода aws загружает пакет по следующему пути:

/opt/codedeploy-agent/deployment-root/deployment-group-id/deployment-id/deployment-archive/gulpfile.js

что означает, что мой gulpfile.js находится в

/opt/codedeploy-agent/deployment-root/deployment-group-id/deployment-id/deployment-archive/gulpfile.js

однако любая команда bash, которую я запускаю, будет запускаться с

/opt/codedeploy-agent

Как мне изменить каталог на динамически генерируемый

развертывание группового идентификатор / разворачивание-идентификатор / разворачивание-архив

а также установить узлы модулей из package.json?

3 ответа

Вы можете использовать переменные среды как для изменения каталога

$DEPLOYMENT_GROUP_ID/$DEPLOYMENT_ID/deployment-archive/

Вы можете сослаться на это как их использовать.

Вы также можете изменить корневой каталог, в котором код развертывания добавляет идентификатор группы развертывания / идентификатор развертывания / архив развертывания, изменив его в файле конфигурации агента: https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-agent-configuration.html

По умолчанию он находится в / opt / codedeploy-agent / deploy-root, но вы можете это изменить.

Кроме того, вы можете указать CodeDeploy скопировать ваши файлы в другой каталог в файле appspec, контролируя источник и назначение каждого файла:

https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-structure-files.html

Насколько я понимаю, вы не можете запустить BeforeInstall из корня вашего проекта, вы должны переместить код в AfterInstall.

Чтобы найти полный путь к корневому каталогу после установки, а затем перейти оттуда, проверьте это: сценарий AWS CodeDeploy AfterInstall запускается из каталога агента развертывания кода

Другие вопросы по тегам