Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Prune no Job

Gostaria de saber se é possivel incluir um prune nessa pipeline, com o CI eu estou gerando muitas imagens e tendo que limpar com frequencia, tem a possibilidade de eu ja incluir um prune?

4 respostas

Olá Leonardo, tudo bem? Você está falando da imagem que é enviada para o DockerHub é isso? Bem, não entendi muito bem, sempre que fazer o build da imagem e enviamos ela para o DockerHub ela é substituida se você não informar uma nova tag para a mesma, então não tem a necessidade de limpar essas imagens. Você poderia verificar e explicar melhor para gente poder ti ajudar da melhor forma!

Opa muito obrigado pela resposta! Então, não chegamos a mandar para o dockerhub, mantemos ela local e utilizamos tags para manter pelo menos as 2 ultimas versões estáveis, mas chega uma hora que estoura a memoria ai temos que ir la e dar um prune pra limpar tudo, ai eu pensei em incluir nessa pipeline do gitlab um comando prune antes de criar a nova imagem, pq ele não limparia a atual que esta em uso e depois criava a nova imagem, ai quando eu atualizasse para essa nova imagem que acabou de ser criada eu ainda teria a anterior caso desse algum erro nessa nova

solução!

Entendi Leonardo, bem você sempre quer manter as duas últimas imagens correto? Nesse caso você iria precisar utilizar o comando prune, passando a flag -a para remover todas, como também passando a flag -f para forçar a exclusão, e por fim a flag --filter para poder filtrar as imagens que serão excluídas, e você poderia usar o before que exibe apenas as imagens criadas antes da imagem com o ID ou referência fornecida, por exemplo:

docker image prune -a -f --filter "before=<nome-minha-imagem>"

Você pode ler mais sobre isso na documentação e também nesse artigo bem interessante.

Espero ter ajudado!

muito obrigado! vou dar uma estudada