Olá, Rafael.
Tudo bem?
Pelo que vi nas mensagens de erro, parece que há algumas propriedades no arquivo de definição de tarefa do ECS que não são válidas. Além disso, o erro final indica que o recurso não está no estado esperado (Resource is not in the state servicesStable
).
Aqui estão algumas sugestões para resolver o problema:
Verifique as Propriedades da Definição de Tarefa:
As mensagens de aviso indicam que algumas propriedades (status
, registeredAt
, registeredBy
) não são válidas ao registrar uma nova definição de tarefa. Certifique-se de que seu arquivo ECS.yml
não inclua essas propriedades. A definição de tarefa deve conter apenas propriedades válidas para registro.
Estado do Serviço no ECS:
O erro Resource is not in the state servicesStable
sugere que o serviço ECS não está em um estado estável. Isso pode acontecer por várias razões, como problemas de configuração ou recursos insuficientes. Verifique o estado do serviço no console do ECS e veja se há alguma mensagem de erro ou alerta que possa fornecer mais detalhes.
Verifique as Permissões:
Certifique-se de que as permissões necessárias estão configuradas corretamente no IAM para permitir que o GitHub Actions interaja com o ECS. Isso inclui permissões para registrar definições de tarefa, criar serviços e atualizar serviços.
Ajuste o Arquivo Docker.yml
:
Certifique-se de que o arquivo Docker.yml
está configurado corretamente para construir e enviar a imagem do Docker para o registro. Verifique se as tags estão sendo aplicadas corretamente e se a imagem está sendo enviada para o repositório correto.
Aqui está um exemplo de como a definição de tarefa no ECS.yml
pode ser simplificada:
version: 1
services:
api:
image: leonardosartorello/go_ci:${{github.run_number}}
ports:
- "8000:8000"
environment:
- NODE_ENV=production
E um exemplo de como o Docker.yml
pode ser configurado:
name: CI/CD Pipeline
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Build Docker image
run: docker build -t leonardosartorello/go_ci:${{github.run_number}} .
- name: Push Docker image
run: docker push leonardosartorello/go_ci:${{github.run_number}}
env:
DOCKER_USERNAME: ${{ secrets.DOCKER_USERNAME }}
DOCKER_PASSWORD: ${{ secrets.DOCKER_PASSWORD }}
Espero que essas sugestões ajudem a resolver o problema. Verifique os pontos mencionados e veja se há alguma configuração que precisa ser ajustada.
Qualquer dúvida manda aqui de novo. Bons estudos!