Скрипт не существует в указанном месте || Проблема с CodeDeploy - PullRequest
0 голосов
/ 03 августа 2020

Я выполняю образцы сценариев PowerShell как часть развертывания с помощью CodeDeploy. Ниже приведено содержимое appse c .yml

version: 0.0
os: windows
files:
  - source: \
    destination: C:\Users\Administrator\testapp
hooks:
  ApplicationStop:
    - location: C:\Users\Administrator\testapp\stop.ps1
      timeout: 300

  BeforeInstall:
    - location: C:\Users\Administrator\testapp\copy.ps1
      timeout: 300

  ApplicationStart:
    - location: C:\Users\Administrator\testapp\start.ps1
      timeout: 300

  ValidateService:
    - location: C:\Users\Administrator\testapp\validate.ps1
      timeout: 300

Но когда я начинаю развертывание с развертыванием кода, появляется ошибка ниже:

Error code
ScriptMissing
Script name
C:\Users\Administrator\testapp\copy.ps1
Message
Script does not exist at specified location: C:/ProgramData/Amazon/CodeDeploy/85c23e0a-90f5-474e-9675-df3301a3b8f9/d-CODHEXCG5/deployment-archive/C:/Users/Administrator/testapp/copy.ps1
  

Когда я проверил местоположение C : / ProgramData / Amazon / CodeDeploy / 85c23e0a-90f5-474e-9675-df3301a3b8f9 / d-CODHEXCG5 / deployment-archive, я вижу, что артефакты загружаются из корзин S3.

Структура каталогов артефактов:

+ deployment-archive
  + scripts
     - copy.ps1
     - stop.ps1
     - start.ps1
     - validate.ps1
  - appsec.yml

Я думаю, что файлы не копируются из архива развертывания в место назначения, о котором я упоминал в файле appse c. Но почему его не копируют, понять не могу. Пожалуйста, проведите

1 Ответ

1 голос
/ 03 августа 2020

Ваш раздел files полностью правильный (см. AppSpe c раздел «файлы» ), и проблема заключается в скриптах в разделе hooks.

В этом официальном документация AppSpe c раздел «хуки» , в нем говорилось:

Расположение скриптов, которые вы указываете в разделе «хуки», относительно root приложения пакет ревизий.

Итак, вам нужно изменить абсолютный путь на относительный, например:

hooks:
  ApplicationStop:
    - location: scripts\stop.ps1
      timeout: 300

И ваш журнал ошибок также сообщает вам ту же проблему:

Скрипт не существует в указанном месте: C: / ProgramData / Amazon / CodeDeploy / 85c23e0a-90f5-474e-9675-df3301a3b8f9 / d-CODHEXCG5 / deployment-archive / C: / Users /Administrator/testapp/copy.ps1

...