Boa tarde, Cleverson! Tudo bem?
É ótimo ver que você está pensando em implementar o ArgoCD para automatizar o deploy das suas aplicações.
Vamos ver como você pode endereçar os passos que mencionou utilizando o ArgoCD:
Baixar a aplicação: No ArgoCD, você pode configurar um repositório Git onde o código da sua aplicação e os manifestos do Kubernetes estão armazenados. O ArgoCD irá monitorar esse repositório e automaticamente aplicar as alterações no seu cluster quando houver um novo commit.
Rodar os scripts de banco da atualização: Para executar scripts de banco de dados, uma abordagem comum é incluir esses scripts em um contêiner que é executado como um Job no Kubernetes. Você pode criar um manifesto YAML para esse Job e incluí-lo no seu repositório. O ArgoCD irá aplicar esse manifesto automaticamente quando detectar mudanças.
Subir a aplicação com os arquivos YAML modificados: No ArgoCD, você pode definir aplicações que são compostas por vários manifestos YAML, incluindo ConfigMaps, Secrets e Deployments. Quando você faz alterações nesses arquivos no seu repositório, o ArgoCD irá sincronizar essas mudanças com o cluster, atualizando as aplicações conforme necessário.
Um exemplo prático seria ter um repositório Git com pastas para cada aplicação, contendo seus respectivos manifestos. O ArgoCD pode ser configurado para monitorar essas pastas e aplicar as mudanças automaticamente sempre que houver uma atualização.
Espero ter ajudado e fico à disposição se precisar.
Abraço e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado