У меня установлено расширение AWS -Toolkit на Azure. В конвейерах выпуска Azure я настроил задачу System Manager Run Command для выполнения сценария python в экземпляре ec2. Проблема в том, что как только запускается задача SSM - Run command, она дает статус «успешно» (через 1 секунду) и переходит к выполнению следующей задачи на этапе. Однако задание все еще выполняется в экземпляре ec2.
Я хочу знать, как мне сделать azure конвейерную задачу, чтобы дождаться, пока выполнение действительно не закончится, а затем предоставить соответствующий статус выполненного скрипта.
Для того же вызова на AWS Консоль SSM, она показывает, что задание (скрипт) выполняется. Это проблема с конвейером azure? мои остальные задачи AWS, похоже, нормально работают в конвейере azure.
Примечание: задачи конвейера настроены правильно по мере необходимости (поскольку он делает то, что должен делать) . Единственная проблема в том, что эта задача должна ждать завершения задания.
Изменить 1: Добавление задачи, выполняемой в конвейер, для большей ясности:
- Раскрутка EC2 используя Terraform
- Получить код из репо и опубликовать sh его (используя Publi sh Artifact tasks)
- Архив (создать zip), а затем загрузить его в S3
- Используйте службу AWS CodeDeploy, чтобы получить код из S3 и «установить» его на запущенном EC2, а затем запустить несколько сценариев «после установки» с помощью хуков CodeDeploy.
- Выполнить другой сценарий через SSM (поскольку он может занять несколько часов, поэтому невозможно сделать это с помощью CodeDeploy Hooks, максимальный таймаут которого равен 3600)
- После выполнения скрипта используйте terraform destroy для завершения экземпляра.