Customização Limit no Jenkinsfile
Warning
Erro killed - erro por falta de recurso
Quando uma build falhar com o erro “killed” quer dizer que o limite de recursos configurados na jenkinsfile são insuficientes, e precisam ser alterados.
Observe também que o exit code 137 é status diretamente relacionado à falta de memória.
Customização
Possibilidade de customização de consumo de recursos para realização de build, onde:
ResourcesMemoryRequest
Aguardará o servidor possuir quantidade livre de memória solicitada para iniciar o build.
Por default e sugerido :
3Gi.
ResourcesMemoryLimit
Responsável por limitar o consumo, caso ultrapasse o valor determinado o build terminará imediatamente, com o erro
killed.Por default e sugerido :
6Gi.
Warning
Os valores do
resourcesMemoryRequesteresourcesMemoryLimitdevem possuir um embasamento pois impacta diretamente nos recursos do servidor e consequentemente em outros build e aplicações.É ideal utilizar sempre um valor mínimo de recurso para iniciar o build.
É ideal utilizar sempre um valor aceitável de limite visando não ultrapassar limites normais de consumo de recursos.
Customizando jenkinsfile
Para alterar os valores padrões adicione as linhas na jenkinsfile:
Adicionar as definição de variáveis:
def resourcesMemoryRequest = "" // OPCIONAL - default "3Gi"
def resourcesMemoryLimit = "" // OPCIONAL - default "6Gi"Adicionar no objeto
data:
"resourcesMemoryRequest": "${resourcesMemoryRequest}"
"resourcesMemoryLimit": "${resourcesMemoryLimit}"
Recomendação de valores
Recomendamos que utilize sempre valores mínimos e siga a progressão da tabela para definição de resourcesMemoryRequest e resourcesMemoryLimit , onde cada projeto terá um valor empírico.
resourcesMemoryRequest |
resourcesMemoryLimit |
|---|---|
“3Gi” default |
“6Gi” default |
“4Gi” |
“8Gi” |
“5Gi” |
“10Gi” |
“6Gi” |
“12Gi” |
… |
… |
Warning
Para os projetos que fazem uso da funcionalidade, é necessário consultar a equipe de DevOps para definir os valores a serem utilizados caso fujam dos valores “normais” apresentados na tabela de recomendação.
Valores arbitrários poderão causar inconsistências durante builds no Jenkins para todos os projetos.