DevOps, Integração Contínua, Entrega Contínua e Ferramentas de CI/CD
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 | N | S | S |
Configurado facilmente | N | S | S |
Totalmente gratuito | S | S | N |
Liberdade de modificação | S | S | N |
Faça o download deste post inserindo seu e-mail abaixo
Powered by Rock Convert
Faça o download deste post inserindo seu e-mail abaixo
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!