Configurei um dos meus serviços para ser implantado no ECS (EC2). Tenho a definição de serviço e tarefa configurada via terraform e para implantar estou usando ações do Github onde parece que preciso definir a definição de tarefa novamente.
Parece que ambos são necessários. Qual seria o fluxo de trabalho correto para que eu possa remover a definição de tarefa duplicada?
Há também o problema de que, uma vez que esta definição de tarefa tenha sido implantada por meio de ações do Github, a imagem que o terraform deseja reverter foi atualizada.
Responder1
Este é antigo, mas para referência futura.
O primeiro é necessário para ativar o serviço inicialmente (ao criar seu cluster pré-configurado).
Você pode considerar o segundo como uma opção para atualizar seuserviço(implantar uma nova versão da imagem) sobre a inicial durante a implantação do GitHub Actions (já que você pode alterar o ID da imagem e basicamente tudo o que você tem como opção de configuração na definição da tarefa).
Com relação ao terraform você pode adicionar uma regra de ciclo de vida para ignorar quaisquer alterações no image_id pré-configurado com algo assim noaws_ecs_service:
lifecycle {
ignore_changes = [task_definiton]
}
Háum assunto bastante antigono projeto terraform-provider-aws em relação a como ele lida com alterações na definição de tarefas. Dê uma olhadaeste comentáriopara uma possível solução alternativa para seu caso de uso (postagem no blog sobre o tópico do autor do comentário).
Abaixo você pode veroutro comentáriovinculando umSolução Github Actions pronta para uso com um exemplo de código terraform.