Menu English version
Blog Infra como Código

Jenkins Pipeline: como acelerar o processo de desenvolvimento de software?

Conheça o plugin do Jenkins 2.0 que acelera e otimiza o seu processo de entrega contínua

O Jenkins é uma das principais ferramentas utilizadas por organizações que desejam realizar o desenvolvimento e a entrega contínua de software. Por isso, neste post vamos explicar os principais benefícios do Jenkins Pipelines para os times que desejam trabalhar com processos mais ágeis, eficientes e seguros. Boa leitura!

 

Por que utilizar a entrega contínua (CD)?

Há uma vasta quantidade de documentação na internet que descreve o benefício da entrega contínua (como este post do nosso blog), então vamos partir do pressuposto de que você já tem algum conhecimento sobre o tema ou pelo menos já ouviu falar do assunto. Portanto, se você deseja acelerar o seu ritmo de entrega de software, ter o seu código sempre disponível é a maneira de fazer isso – e a entrega contínua é a melhor estratégia para alcançar este objetivo.

As técnicas tradicionais de entrega de software estabelecem que você pode escolher apenas duas entre três características para o seu produto final: qualidade, rapidez e baixo custo. No entanto, a entrega contínua acredita que é possível alcançar estes três fatores e de fato melhorar as suas métricas ao longo do tempo, de acordo com a maturidade da sua equipe, em cada um destes eixos.

 

Por que escolher o Jenkins?

O software passa por várias fases (build, test, deploy) no processo de desenvolvimento e utiliza uma infinidade de ferramentas (Junit, Sonar, Nexus etc) a caminho da produção. Dessa maneira, o Jenkins é o orquestrador que impulsiona todo o pipeline e integra cada uma dessas soluções: ele possui mais de 1200 plugins que permitem interagir com qualquer uma das ferramentas adotadas na sua organização.

 

Jenkins Pipeline

O Jenkins 2.0 introduziu uma área-chave chamada Pipeline. Com o Pipeline, as organizações podem definir seu pipeline de entrega por meio de um DSL (Pipeline-as-code). Os pipelines, portanto, podem ser versionados, verificados na sua fonte e facilmente compartilhados dentro de uma organização.

Os pipelines modelam e agilizam o seu processo de entrega (fluxo de valor), ao invés de torná-lo dependente apenas de opiniões e decisões sem embasamento em dados concretos.

O fluxo típico de valor de entrega dentro das organizações tem uma semelhança: atipicidade. A maioria dos processos de entrega são diferentes entre si, de acordo com o produto que está sendo desenvolvido. Ou seja, não há uma fórmula que possa ser usada em qualquer situação: é preciso realizar adaptações para atender às necessidades e peculiaridades de cada organização.

O Pipeline DSL ajuda você a reunir os requisitos de processos complexos por meio de código – assim, você pode identificar falhas de deploy e executar testes em paralelo, por exemplo. Ele traz o poder de uma linguagem de programação (groovy) para realizar atividades que serão transformadoras no dia a dia da sua equipe e no resultado final que será entregue. Ao mesmo tempo, o DSL é simples o suficiente para trabalhar com casos menos complexos com facilidade, sem ter que tocar no código groovy. Você pode identificar padrões comuns em funções e mantê-los em uma biblioteca global para que novos aplicativos possam se basear nelas, ao invés de reinventá-las.

 

Os pipelines continuam a funcionar apesar das falhas de infraestrutura

Vários aplicativos possuem pipelines que são executados durante vários dias. Um pipeline normalmente é executado nos Jenkins Secundários (Executors) e isso continuará acontecendo mesmo que ocorra uma grande falha Jenkins Principal (Master). Você pode imaginar os benefícios de produtividade em um pipeline no qual, mesmo com um erro de infraestrutura, não precisou ser reiniciado a partir do primeiro dia. Assim, há um ganho significativo de tempo e uma economia de recursos financeiros para as organizações.

Se você usar a plataforma CloudBees Jenkins, poderá verificar os seus pipelines de modo que, se um executor falhar, você poderá escolher a partir do último ponto de verificação salvo, ao invés de executar novamente todo o pipeline.

 

Analise e otimize seu processo de fluxo de valor

A otimização do processo do fluxo de valor é a próxima etapa lógica após a modelagem do processo de entrega. O Pipeline Stage View ajuda a analisar a entrega do processo em várias execuções. Você pode ver quais estágios consomem mais tempo, quais estão bloqueados por atividades manuais do usuário e assim por diante. Dessa maneira, você pode aprimorar rapidamente uma fase problemática e otimizá-la para que outras etapas posteriores não sejam prejudicadas.

Os desenvolvedores podem obter rapidamente uma visão de onde está o código deles no pipeline. Ademais, as equipes que estão aguardando a entrega do código também podem ter uma previsão de quando isso ocorrerá e adaptar os seus planejamentos.

O Jenkins Pipeline é uma funcionalidade poderosa do Jenkins 2.0 e traz o suporte nativo para pipelines. Ele é destinado a um público que deseja entregar software continuamente e pode transformar a maneira como seu time planeja e produz o código, desde as ideias até a entrega do produto final para o usuário.

 

Conheça o CloudBees Jenkins Enterprise

O CloudBees Jenkins trabalha com a entrega contínua para a era DevOps e acelera o seu trabalho com o Jenkins. A versão Enterprise Edition apresenta funcionalidades corporativas para segurança, escalabilidade, capacidade de gerenciamento e resiliência. A Instruct é parceira oficial da CloudBees no Brasil para a realização de treinamentos e de consultorias. Para saber mais, clique aqui.

Post produzido em parceria com a CloudBees.