#amazon-web-services #jenkins #amazon-ecs
Вопрос:
Может ли кто-нибудь, пожалуйста, помочь мне с командой для получения общедоступного IP-адреса контейнеров ecs fargate, созданных с помощью конвейера jenkins CI/CD.
(необходимо отобразить общедоступный ip-адрес в выводе консоли сборки Дженкинса, поскольку тестировщики не имеют доступа к консоли aws для проверки недавно развернутых служб в кластере aws ecs с использованием определения служб и задач)
ТИА
Ответ №1:
Предполагая, что вам известен идентификатор задачи (например, ceebc8d37409490693478ad5f2fbff93), вы должны иметь возможность получить идентификатор ENI, связанный с задачей Fargate, а затем вы можете запросить общедоступный IP, связанный с ENI:
export TASK=ceebc8d37409490693478ad5f2fbff93
ENI_ID=$(aws ecs describe-tasks --task $TASK | jq -r '.tasks[].attachments[].details[] | select(.name=="networkInterfaceId") | .value')
ENI_PUBLIC_IP=$(aws ec2 describe-network-interfaces | jq -r ".NetworkInterfaces[] | select(.NetworkInterfaceId=="$ENI_ID") | .Association.PublicIp")
echo $ENI_PUBLIC_IP