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

Qual é o tipo desses códigos Groovy? Declarativo ou Script

Olá.

Não sei se mais para frente o instrutor vai discutir isso, mas tenho certa dificuldade em entender as diferenças entre scripts declarativos e Scripted Pipeline. O que está sendo proposto é qual?

Outra pergunta (acho que está relacionada). esses códigos tbm são o DSL?

abs!

3 respostas

Olá, Filippe. Tudo bem?

O modo declarativo é mais recente e possui menos variações para executar as mesmas atividades. O nome declarativo vem do paradigma declarativo de programação, em que a gente se preocupa mais em dizer (declarar) o que queremos e nem tanto no "como" fazer. Por possuir menos palavras chaves e ser mais simples para montar, também oferece menos flexibilidade, então para pipelines mais complexas talvez não se encaixe. Também oferece validação do código antes mesmo de começar a executar o stage, permite definir opções para termos variáveis de ambientes específicos para stages específicos.

Já no modo Scripted utiliza-se o Groovy, que é uma linguagem de programação propriamente dita, utilizando programação imperativa (foca mais no "como" fazer), que permite você executar operações mais complexas. O Groovy é considerado um DSL (Domain Specific Language). Diferentemente da pipeline declarativa, não possui validação do código antes de ser executado, sendo que sua pipeline pode começar a executar e dar erro no meio. Também não permite definir ambientes específicos para stages específicos, usando mais variáveis globais.

Existem outras diferenças, mas creio que essas já dão um começo pra entender.

Espero ter ajudado. Bons estudos!

Bom dia Vitor! excelente explicação.

Entendi que o mais utilizado é o modo Scripted, certo? Vou procurar estudar mais o Groovy. (existe algum curso aqui na Alura?)

Te agradeço muito pela resolução. abs

solução!

Opa, Filippe. Bom dia!

Fico contente que tenha te ajudado!

Acho que desde que foi criado, sim, o scripted foi mais utilizado, até por ter mais tempo de existência. Mas vai depender mesmo da complexidade da sua pipeline. Hoje para pipelines mais simples, acredito que o Declarativo é mais utilizado!

Que eu saiba não tem curso de Groovy na plataforma, pois é muito específico. Mas se você conseguir entender um pouquinho sobre Java ou Python já vai ser suficiente pra conseguir se virar com tranquilidade.