Todas as ferramentas que você mencionou (Jenkins, ant, git) ajudam a realmente construir e testar seu artefato. No mundo java, geralmente isso pode ser guerra, ouvido ou apenas zipar com o aplicativo dentro. Às vezes, para aplicativos complicados, pode haver mais de um artefato. Para outras plataformas de programação, pode variar, DLLs, binários para várias plataformas diferentes e assim por diante.
Agora, digamos que você deseja implantar seu aplicativo. Se você tiver um servidor, poderá fazê-lo manualmente ou com algum script caseiro. Por enquanto, tudo bem :)
Mas e se você tiver muitos farms (grupos de máquinas), farms diferentes deverão ter implantações com configurações diferentes (bancos de dados, diferentes localizações geográficas). uma tarefa trivial. Sua equipe de controle de qualidade pode apenas solicitar um novo ambiente para executar seus testes, sua equipe de desempenho pode solicitar um novo ambiente ou adicionar nós ao farm para executar testes de estresse e assim por diante. Agora, gerenciar tudo isso parece complicado. É aí que ferramentas como ansible, chef, salt, fantoche e outras entram em jogo.
Na verdade, eles estão ajudando a automatizar a implantação. Eles podem fornecer receitas de implantação, instalar dependências ausentes (para executar seu projeto, podem ser necessários jre, tomcat de versão específica e nginx para conteúdo estático). Tudo isso no nível da fazenda.
Eu sei que a resposta é muito genérica e pode parecer menos óbvia para o desenvolvedor java (eu sou um desses). Mas se você tem uma equipe de sistema / pessoal de devops, eles devem apontar imediatamente os benefícios dessas ferramentas.