appspe c .yml не может запустить скрипт - PullRequest
1 голос
/ 20 февраля 2020

Я не могу запустить скрипт, указанный в файле appspe c .yml для моего проекта node.js. Также предоставили разрешение на выполнение пользователю runas. Кроме того, изменение runas на ec2-user не помогает, так как скрипт работает только с пользователем root. Codedeploy может развернуть артефакты в указанном месте на моем сервере ec2 без каких-либо ошибок. Может ли кто-нибудь помочь мне с этим вопросом. (Хочу попробовать это потом с Beanstalk, но для этого тоже нужен файл appspe c .yml !!)

appspe c .yml File

version: 0.0  
os: linux  
files:  
  - source: /  
    destination: /opt/dev  
permissions:
  - object: /opt/dev/scripts/UnzipResourceBundle.sh
    mode: 777
    owner: root
    type:
      - file  

hooks:  
  AfterInstall:  
    - location: scripts/UnzipResourceBundle.sh  
      timeout: 1800  
      runas: root 

Расположение и разрешения файла UnzipResourceBundle (в папке развертывания агента codedeploy):

/opt/codedeploy-agent/deployment-root/7f8a2414-b048-4468-a3f5-74efa04371c7/d- 
G7FCROQS2/deployment-archive/scripts/UnzipResourceBundle.sh


-rwxr-xr-x 1 root root 532 Feb 27 08:07 UnzipResourceBundle.sh

UnzipResourceBundle. sh файл:

shebang : #!/bin/bash  
script runs the forever service and migrates db scripts.

1 Ответ

1 голос
/ 27 февраля 2020

Я решил эту проблему, создав сценарий оболочки на сервере linux и затем применив его к codecommit. Я создал файл на компьютере Windows, и они были созданы в формате DOS, поэтому ОС EC2 не смогла найти или выполнить файл сценария, так как она искала формат unix. Поэтому необходимо создать файл в Unix формат, чтобы оправдать это. Теперь моя кодовая линия работает нормально !!

...