Команды выполнения конвейера кода AWS после развертывания - PullRequest
0 голосов
/ 03 ноября 2018

Я установил конвейер AWS, который автоматически получает мой код из корзины S3, собирает его и развертывает в экземплярах EC2. Теперь я хотел бы запустить некоторые команды оболочки (например: Запустить скрипт Python) автоматически. Как я могу интегрировать это в конвейер?

1 Ответ

0 голосов
/ 03 ноября 2018

Если вы используете развертывание кода, ответ находится в вашем файле appspec.yml, который обеспечивает выполнение команд на определенных хуках жизненного цикла в развертывании.

Полагаю, вам нужен хук ApplicationStart. вы используете хуки, добавляя раздел вроде:

hooks:
  BeforeInstall:
    - location: Scripts/UnzipResourceBundle.sh
    - location: Scripts/UnzipDataBundle.sh
  AfterInstall:
    - location: Scripts/RunResourceTests.sh
      timeout: 180
  ApplicationStart:
    - location: Scripts/RunFunctionalTests.sh
      timeout: 3600
  ValidateService:
    - location: Scripts/MonitorService.sh
      timeout: 3600
      runas: codedeployuser

Пример кода из документов AWS: https://docs.aws.amazon.com/codedeploy/latest/userguide/reference-appspec-file-example.html

в значительной степени агент развертывания будет запускать команды в предложении "location" на данном хуке жизненного цикла. Как видите, есть и другие варианты, которые полностью документированы в документах по развертыванию кода.

Если вы используете CodePipeline с каким-либо альтернативным агентом развертывания, лучше всего задать вопрос об этом агенте развертывания или просмотреть их документы. Конвейер просто координирует репозиторий кода, агент сборки и агент развертывания. На самом деле он не выполняет развертывание и не выполняет команды развертывания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...