Когда я запускать через Jenkins (код развертывания плагин), я получаю следующее сообщение об ошибке -Дженкинс вызвал код развертывания происходит сбой на ApplicationStop этапе, даже если та же группа развертывания с помощью кода Deploy непосредственно работает успешно
No such file or directory - /opt/codedeploy-agent/deployment-root/edbe4bd2-3999-4820-b782-42d8aceb18e6/d-8C01LCBMG/deployment-archive/appspec.yml
Однако, если я запускаю развертывание в ту же группу развертывания с помощью прямого развертывания кода и задаю один и тот же почтовый индекс в S3 (полученный через триггер Jenkins), этот шаг проходит.
Что это значит и как мне найти обходной путь? В настоящее время я работаю над интеграцией нескольких вещей, и поэтому вам нужно будет развернуть через развертывание кода и через Jenkins одновременно. Я буду запускать развертывание с развертыванием кода, когда мне нужно будет убедиться, что блок меньшего размера работает нормально.
Update
Просто упомянуть еще один момент, в случае, если он применяется. Раньше я использовал другое «приложение» и «группу развертывания» в тех же экземплярах ec2, что и использование jenkins и кода. Чтобы исправить некоторую проблему (не позволяя перезаписывать существующие файлы из-за неудачных развертываний, предположительно), я удалил все в каталоге /opt/codedeploy-agent/deployment-root/<directory containing deployments>
, пытаясь следовать тому, что было упомянуто в this answer. Однако обратите внимание, что я удалил только элементы внутри этого каталога. После этого я начал получать эту ошибку appspec.yml не найден в архиве развертывания. Итак, я создал новую группу приложений и развертывания, и с тех пор я работаю над этим.
Итак, еще один момент, который следует учесть, заключается в том, следует ли мне делать дополнительную очистку, если развертывание, инициированное jenkins, каким-то образом по-прежнему затрагивается этими удалениями (хотя оно относится к новой группе приложений и развертывания).
Можете ли вы предоставить список содержимого/opt/codedeploy-agent/deployment-root/edbe4bd2-3999-4820-b782-42d8aceb18e6/d-8C01LCBMG/архив развертывания, пожалуйста? –
@RodrigoM каталог 'd-8C0 1LCBMG' отсутствует внутри'/opt/codedeploy-agent/deployment-root/edbe4bd2-3999-4820-b782-42d8aceb18e6/'вообще. Кажется, это старый идентификатор развертывания, и каждый раз, когда я пытаюсь сделать сборку из jenkins, он ищет эту конкретную сборку. Я не уверен, почему он пытается найти это, когда файл appspec присутствует в zip-архиве. Возможно ли, что он каким-то образом не может получить доступ к файлу на этапе приложения и, следовательно, ищет в архиве? Или это похоже на содержимое архива, так или иначе, независимо от этого? –
Бинго. См. Мой ответ ниже. –