Как я могу изменить каталог на развертывание-архив для запуска 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 запускается из каталога агента развертывания кода