Мы не смогли сразу выявить ошибку в нашей кодовой базе, вот что, по-видимому, происходит:
Чтобы добавить сообщения о прогрессе в журнал сборки Bamboo, нам нужно вызвать DescribeServices API-действие перед вызовом фактического UpdateService API-действия, и исключение выдается, если и только если целевой сервис не может быть найден.
Так что на первый взгляд может быть тонкой проблемой конфигурации, которая время от времени случается со мной при использовании переменных Bamboo для ссылки на ресурсы из предыдущей задачи, где легко случайно скопировать и вставить неправильную переменнуюнапример, имя.
Неправильная ссылка в любом из следующих параметров действия Служба обновления Сервиса Amazon ECS приведет к соотв. Сбой действия задачи с сообщением об ошибке, потому что сам по себе вызов API DescribeServices
будет успешным, но при этом не будет определена целевая служба:
- Соединитель
- Регион
- Имя службы
Например, я только что воспроизвел проблему, используя несуществующее имя службы:
24-Oct-2019 17:37:05 Starting task 'Update sample ECS service (w/ ELB) - 2 instances' of type 'net.utoolity.atlassian.bamboo.tasks-for-aws:aws.ecs.service'
24-Oct-2019 17:37:05 Setting maxErrorRetry=7 and awaitTransitionInterval=15000
24-Oct-2019 17:37:05 Using session credentials provided by Identity Federation for AWS app (connector variable: 6f6fc85d-4ea5-43ce-8e70-25aba33a5fda).
24-Oct-2019 17:37:05 Selecting region eu-west-1
24-Oct-2019 17:37:05 Updating service 'NOT-A-SERVICE' on cluster 'TAWS-IT270-100-ubot':
24-Oct-2019 17:37:06 Failed to fetch resource from AWS!
24-Oct-2019 17:37:06 java.lang.RuntimeException: Expected DescribeServiceRequest for service 'NOT-A-SERVICE' to return exactly 1 result, but got '0'
...
Конечно, сообщение об ошибке не совсемздесь полезно, и нам нужно подумать о том, как лучше обрабатывать этот шаблон журнала для наших различных задач - фактическое действие UpdateService
API приведет к гораздо более подходящему исключению ServiceNotFoundException
в этом сценарии.
Таким образом, предполагая«my-service» был запущен и запущен до вызова действия задачи «Служба обновления». Можете ли вы проверить, может ли журнал вашей неудачной сборки Bamboo указывать на эту конкретную проблему, например, случайно выбрав другой регион?