Я создал задание Jenkins, которое делает недействительным кэш каждый раз, когда развертывается мой фронтенд-проект.Проблема заключается в том, что, хотя на веб-сайте AWS отображается, что кеш является недействительным, по завершении задания кэш не очищается полностью, поэтому мне нужно сделать его недействительным вручную через веб-сайт AWS ...
Способ аннулироватькеш автоматически используется через контейнер aws , где я выполняю следующую команду:
aws cloudfront create-invalidation --distribution-id ${DISTRIBUTION_ID} --paths /* > output.json
Выходной файл будет содержатьJSON, где я могу получить разные ключи: значения.Два из них, которые я использую, это Id
и Status
.После того, как аннулирование было создано, на следующем этапе конвейера я выполняю следующее:
aws cloudfront get-invalidation --distribution-id ${DISTRIBUTION_ID} --id ${id_invalidator} > status_invalidation.json
С помощью предыдущей команды я выполняю квест API каждые 50 секунд (черезsleep 50
) Статус признания недействительным.Когда при проверке возвращается `Status = Completed ', работа завершена.Это условие находится внутри цикла while.
Кто-то знает, почему это произошло?