DevOps, Integração Contínua, Entrega Contínua e Ferramentas de CI/CD

5 minutos para ler

Inovações surgem a todo momento e é preciso otimizar a governança para alcançar resultados satisfatórios no médio e longo prazo. Diante desse contexto, é interessante que a gestão estratégica de TI conheça um pouco mais sobre desenvolvimento ágil de softwares e DevOps

A essência do DevOps é aproximar as áreas de desenvolvimento e de operações. Com isso, consegue-se simplificar rotinas, melhorar a comunicação entre as equipes, reduzir os tempos de respostas aos usuários e gerar produtos entregáveis com mais qualidade. Continue a leitura para se familiarizar com a cultura DevOps.

O que é DevOps?

DevOps é um conjunto de práticas para integração entre as equipes de desenvolvimento de software, operação e controle de qualidade.  A cultura DevOps tem como base alguns pilares, entre eles, integração contínua e entrega contínua.

O que seria Integração Contínua?

A integração contínua também conhecida como CI é uma prática de desenvolvimento de software de DevOps, onde os desenvolvedores fazem a junção de suas alterações de código em um repositório central e depois disso as criações e testes são executados. Para manter a integração contínua existem diversas ferramentas que são bem utilizadas no mercado, entre elas: Jenkins, GitLab CI e Travis CI.

O que seria entrega contínua?

A entrega contínua também conhecida como CD é uma prática que tem como objetivo garantir que o código gerado esteja funcionando corretamente para que seja realizado a atualização do projeto no ambiente de produção do sistema.

Jenkins

É o principal servidor de integração contínua e entrega contínua de código aberto. Ele foi desenvolvido na linguagem Java, fornece diversos plugins, permitindo que ele suporte a construção, a implantação e a automação de qualquer projeto. Como o Jenkins é uma ferramenta de código aberto, ele oferece a opção de ajustá-la sob medida para a solução ideal, te dando a liberdade de fazer a integração com qualquer repositório, independente se o código é público ou privado, se está no GitHub, GitLab, BitBucket, etc. 

Utilizado em empresas como, Facebook, Netflix, Ebay, Linkedin e integrado com ferramentas como, Slack, SonarQube e Sauce Labs.

O Jenkins é uma ferramenta ideal para quem busca uma solução de integração contínua gratuita e esteja querendo uma ferramenta que se encaixe na medida certa no ambiente do projeto.

Gitlab CI

É um serviço oferecido pela GitLab de integração contínua e entrega contínua. É oferecido pela GitLab de forma gratuita e pode ser configurado rapidamente. Para começar a utilizá-lo é necessário adicionar um arquivo chamado “.gitlab-ci.yml” na raiz do projeto, além de ser necessário configurar o seu projeto no GitLab a usar um Runner. Assim que configurado, cada push realizado no código irá acionar o pipeline de IC. Por também ser de código aberto, tem a liberdade de modificar e ajustá-lo para atender de maneira mais adequada o projeto.

Utilizado em empresas como, WebbyLab e InfoxChange e integrado com ferramentas como, GitLab, Hyper e StackPath.

O GitLab CI é ideal para qualquer tipo de projeto e para quem busca por uma configuração mais simples, já que é um serviço fornecido juntamente com o GitLab.

Travis CI

É um serviço de integração contínua e entrega contínua hospedado, gratuito para projetos de código aberto que estejam no GitHub. Por ser um serviço hospedado, consegue realizar a integração contínua sem precisar ter os recursos instalados localmente. Possui também uma versão paga para repositórios privados. Seu foco principal é a integração contínua, melhorando o desempenho do processo de construção com testes automatizados e sistema de alerta. Ele também garante que tenha um backup da compilação mais recente, clonando o repositório do GitHub em um ambiente virtual toda vez que é executado uma nova compilação.

Utilizado em empresas como, Heroku, Lyft e integrado com ferramentas como, GitHub, Slack, MySQL e npm.

O Travis CI é um serviço ideal para quem tem um código aberto e esteja mais interessado na IC. Caso possua o código privado, terá que adquirir a versão paga e ressaltando que apenas integra com o repositório do GitHub.

As principais diferenças entre as ferramentas 

Jenkins GitLab CI Travis CI
Possibilidade de instalação local S S N
Necessidade de instalação S N N
Integração com as principais linguagens S S S
Integrado com qualquer repositório S N N
Arquivo de configuração na raiz do projeto S S
Configurado facilmente S S
Totalmente gratuito S N
Liberdade de modificação S S N

Faça o download deste post inserindo seu e-mail abaixo

Não se preocupe, não fazemos spam.
Powered by Rock Convert

Qual deles seria o melhor?

Para decidir qual seria a melhor opção, precisa ser analisado a necessidade do cliente levando em consideração alguns fatores, como, repositório, equipe, custo, tamanho do projeto, entre outros. 

Cada um deles tem sua particularidade e se implantado de maneira incorreta pode acabar trazendo desvantagens para a automatização desse processo, então conclui-se que a melhor ferramenta só pode ser escolhida após o levantamento das informações do projeto serem realizadas e analisadas.

Se você quer saber como o DevOps pode ser implementado no contexto específico da sua empresa, entre em contato com a FábricaDS e fale com quem mais entende do assunto!

Você também pode gostar

Deixe um comentário

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.

-