Azure Задача Release Pipeline на AWS System Manger завершается успешно, даже если задание выполняется в фоновом режиме - PullRequest
1 голос
/ 17 июня 2020

У меня установлено расширение AWS -Toolkit на Azure. В конвейерах выпуска Azure я настроил задачу System Manager Run Command для выполнения сценария python в экземпляре ec2. Проблема в том, что как только запускается задача SSM - Run command, она дает статус «успешно» (через 1 секунду) и переходит к выполнению следующей задачи на этапе. Однако задание все еще выполняется в экземпляре ec2.

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

Для того же вызова на AWS Консоль SSM, она показывает, что задание (скрипт) выполняется. Это проблема с конвейером azure? мои остальные задачи AWS, похоже, нормально работают в конвейере azure.

Примечание: задачи конвейера настроены правильно по мере необходимости (поскольку он делает то, что должен делать) . Единственная проблема в том, что эта задача должна ждать завершения задания.

Изменить 1: Добавление задачи, выполняемой в конвейер, для большей ясности:

  1. Раскрутка EC2 используя Terraform
  2. Получить код из репо и опубликовать sh его (используя Publi sh Artifact tasks)
  3. Архив (создать zip), а затем загрузить его в S3
  4. Используйте службу AWS CodeDeploy, чтобы получить код из S3 и «установить» его на запущенном EC2, а затем запустить несколько сценариев «после установки» с помощью хуков CodeDeploy.
  5. Выполнить другой сценарий через SSM (поскольку он может занять несколько часов, поэтому невозможно сделать это с помощью CodeDeploy Hooks, максимальный таймаут которого равен 3600)
  6. После выполнения скрипта используйте terraform destroy для завершения экземпляра.

1 Ответ

0 голосов
/ 18 июня 2020

Azure Задача Release Pipeline на AWS System Manger завершается успешно, даже если задание выполняется в фоновом режиме. Это проблема с конвейером azure?

Это не проблема с конвейером azure . Попробуйте использовать официальную задачу CMD для запуска вашего python скрипта. Официальная задача CMD не будет отображать статус Success, если скрипт не будет выполнен успешно без ошибок. (Ваше ожидаемое поведение.)

Вместо этого я думаю, что это проблема самой сторонней задачи. Azure Devops поддерживает разработку собственных расширений , если вы столкнетесь с проблемой из самой задачи, вам следует попытаться связаться с автором стороннего расширения.

Вы можете попробовать связаться с ними через вопросы здесь . И вот одна открытая проблема , связанная с этой задачей, которая похожа на поведение, с которым вы столкнулись. Я предлагаю вам отслеживать проблему там и запрашивать какие-либо обновления для этого запроса функции.

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