A Integração Contínua é referente aos estágios de criação e teste de unidade do processo de lançamento de software. Cada revisão confirmada aciona criação e teste automatizados.
A Distribuição Contínua é uma prática de desenvolvimento de software em que as alterações de código são criadas, testadas e preparadas automaticamente para que a ordem de produção seja liberada. Ela expande com base na integração contínua ao implantar todas alterações de código em um ambiente de teste e/ou ambiente de produção, após o estágio de criação.
O DevOps é a combinação de filosofias culturais, práticas e ferramentas que aumentam a capacidade de uma empresa de distribuir aplicativos e serviços em alta velocidade: otimizando e aperfeiçoando produtos em um ritmo mais rápido do que o das empresas que usam processos tradicionais de desenvolvimento de software e gerenciamento de infraestrutura. Essa velocidade permite que as empresas atendam melhor aos seus clientes e compitam de modo mais eficaz no mercado.
2. CI - CONTINUOUS INTEGRATION
INTEGRAÇÃO CONTINUA
A integração contínua é referente aos estágios de criação e teste de unidade do processo
de lançamento de software. Cada revisão confirmada aciona criação e teste
automatizados.
Integração contínua não
se livrar dos bugs, mas
faz-lhes dramaticamente
mais fácil de encontrar e
remover.
- Martin Fowler
“
3. CI - CONTINUOUS INTEGRATION
INTEGRAÇÃO CONTINUA
A integração contínua é uma prática de desenvolvimento de software em que
os desenvolvedores, com frequência, juntam suas alterações de código em um
repositório central. Depois disso, a criações e testes são executados.
Geralmente, a integração contínua se refere ao estágio de criação ou
integração do processo de lançamento de software, além de originar um
componente de automação.
Os principais objetivos da integração contínua são encontrar e investigar bugs
mais rapidamente, melhorar a qualidade do software e reduzir o tempo que
leva para validar e lançar novas atualizações de software.
4. Benefícios da Integração Contínua
Melhora a produtividade do desenvolvedor Distribui atualizações mais rapidamenteEncontra e investigua bugs mais rapidamente
A integração contínua ajuda sua
equipe a ser mais produtiva ao
liberar os desenvolvedores de
tarefas manuais e encorajar
comportamentos que ajudam a
reduzir o número de erros e
bugs implantados para os
clientes.
Com testes mais frequentes, a
equipe pode descobrir e
investigar bugs mais cedo, antes
que no futuro os problemas
cresçam demais.
A integração contínua ajuda a
equipe na distribuição das
atualizações para os clientes
mais rapidamente e com
maior frequência.
5. CD - CONTINUOUS DELIVERY/DEPLOYMENT
DISTRIBUIÇÃO/IMPLANTAÇÃO CONTINUA
"Entrega contínua é uma prática de
desenvolvimento de software onde os
membros de uma equipa integram seu
trabalho com freqüência, geralmente cada
pessoa integra pelo menos diariamente,
levando a várias integrações por dia. Cada
integração é verificada por uma compilação
automatizada (incluindo teste) para detectar
erros de integração tão rapidamente quanto
possível. Muitas equipes acham que essa
abordagem leva a problemas de integração
significativamente reduzida e permite que uma
equipe para desenvolver software coeso mais
rapidamente."
- Martin Fowler
“
6. CD - CONTINUOUS DELIVERY/DEPLOYMENT
DISTRIBUIÇÃO/IMPLANTAÇÃO CONTINUA
A distribuição contínua é uma prática de desenvolvimento de software em que
as alterações de código são criadas, testadas e preparadas automaticamente
para que a ordem de produção seja liberada. Ela expande com base na
integração contínua ao implantar todas alterações de código em um ambiente
de teste e/ou ambiente de produção, após o estágio de criação.
Quando a integração contínua é implementada adequadamente, os
desenvolvedores sempre terão um artefato de criação pronto para ser
implantado, e que passou por um processo de teste padronizado.
7. Distribuição Contínua Implantação Contínua
A distribuição contínua automatiza o
processo de lançamento de software
completo. Cada revisão confirmada aciona
um fluxo automático que cria, testa e
prepara a atualização. A decisão final de
implantar em um ambiente de produção
ativo é acionada pelo desenvolvedor.
Com a implantação contínua, as revisões
são implantadas em um ambiente de
produção automaticamente, sem
aprovação explícita de um desenvolvedor,
automatizando todo o processo de
lançamento de software.
Necesário Operação
Humana
8. Benefícios da Distribuição Contínua
Melhora a produtividade do
desenvolvedor
Distribui atualizações mais
rapidamente
Encontra e investigua bugs
mais rapidamente
A distribuição contínua
permite que a equipe crie,
teste e prepare
automaticamente as
alterações de código para
liberar em produção, de
modo que a distribuição de
software seja mais rápida e
eficiente.
Melhora a produtividade do
desenvolvedor
Estas práticas ajudam a
equipe a ser mais produtiva
ao liberar os
desenvolvedores de tarefas
manuais e encorajar os
comportamentos que
ajudam a reduzir o número
de erros e bugs
implantados que chegam
aos clientes.
Com testes mais frequentes e
abrangentes, a equipe pode
descobrir e investigar bugs
mais cedo, antes que no futuro
os problemas cresçam demais.
A distribuição contínua
permite que você execute
tipos de teste adicionais no
seu código, pois o processo
completo já foi automatizado.
A distribuição contínua ajuda a
a equipe na distribuição das
atualizações para os clientes
mais rapidamente e com maior
frequência.
Quando a distribuição contínua
é implementada
adequadamente, você sempre
terá um artefato de criação
pronto para ser implantado, e
que passou por um processo
de teste padronizado.
9. DevOps- DEVELOPMENT AND OPERATIONS
DESENVOLVIMENTO E OPERAÇÕES
A principal característica da
cultura DevOps é a maior
colaboração entre os papéis de
desenvolvimento e operações.
Há algumas mudanças culturais
importantes, nas equipes e em
um nível organizacional, que
suportam esta colaboração.
- Rouan Wilsenach
“
13. Operação em alta velocidade para que você possa trazer inovações para os seus clientes mais rapidamente, adaptar-se melhor a mercados
dinâmicos e tornar-se mais eficiente na geração de resultados comerciais. O modelo de DevOps permite que as suas equipes de
desenvolvedores e operações atinjam esses resultados. Por exemplo, os microsserviços e a entrega contínua permitem que as equipes
assumam a responsabilidade sobre os serviços e, então, lancem atualizações para eles mais rapidamente.
Velocidade
Entrega rápida
Confiabilidade
Benefícios do DevOps
Aumente a frequência e o ritmo de lançamentos para que você possa inovar e melhorar seu produto mais rapidamente. Quanto mais
rápido você puder lançar novos recursos e corrigir erros maior será a sua agilidade para responder às necessidades dos clientes e criar
vantagem competitiva. A integração e a entrega contínuas são práticas que automatizam o processo de lançamento de software, desde a
fase de criação à fase de implantação.
Garanta a qualidade das atualizações de aplicativos e alterações de infraestrutura para que você possa entregar com confiança em um
ritmo mais rápido, sem deixar de manter uma experiência positiva para os usuários finais. Use práticas como a integração e a entrega
contínuas para testar se cada umas das alterações está segura e funcionando. As práticas de monitoramento e registro em log ajudam
você a permanecer informado sobre o desempenho em tempo real.
14. Opere e gerencie seus processos de infraestrutura e desenvolvimento em escala. A automação e a constância ajudam você a gerenciar
sistemas complexos ou dinâmicos com eficiência e risco reduzido. Por exemplo, a infraestrutura como código ajuda você a gerenciar seus
ambientes de implantação, teste e produção de modo repetido e mais eficiente.
Escalabilidade
Colaboração melhorada
Segurança
Benefícios do DevOps
Crie equipes mais eficientes sob um modelo cultural de DevOps, que enfatiza valores como propriedade e responsabilidade. As equipes de
desenvolvedores e operações colaboram de perto, compartilham muitas responsabilidades e combinam seus fluxos de trabalho. Isso
reduz ineficiências e economiza tempo (por exemplo, períodos de transferência reduzidos entre desenvolvedores e operações, escrevendo
código que leva em consideração o ambiente em que está sendo executado).
Opere rapidamente enquanto mantém o controle e preserva a conformidade. Você pode adotar o modelo de DevOps sem sacrificar a
segurança usando políticas de conformidade automáticas, controles minuciosos e técnicas de gerenciamento de configuração. Por
exemplo, usando a infraestrutura e a política como código, você pode definir e, então, rastrear a conformidade em escala.
15. A transição para o DevOps exige uma mudança de cultura e mentalidade. Em seu nível
mais simples, o objetivo do DevOps é remover as barreiras entre duas equipes
tradicionalmente separadas em silos: desenvolvimento e operações. Em algumas
empresas, podem até não existir equipes de desenvolvimento e operações separadas, os
engenheiros podem encarregar-se dos dois. Com o DevOps, as duas equipes trabalham
juntas para otimizar a produtividade dos desenvolvedores e a confiabilidade das
operações. Elas se esforçam para manter a comunicação frequente, aumentar a
eficiência e melhorar a qualidades dos serviços disponibilizados aos clientes. As equipes
assumem a responsabilidade total sobre os serviços, geralmente indo além do escopo
tradicional de seus cargos e títulos definidos, pensando sobre as necessidades do cliente
final e como eles podem contribuir para resolver essas necessidades. As equipes de
controle de qualidade e segurança também podem tornar-se altamente integradas a
essas equipes. As empresas usando um modelo de DevOps, independentemente de sua
estrutura organizacional, têm equipes que supervisionam o ciclo de vida completo de
desenvolvimento e infraestrutura como parte das suas responsabilidades.
Filosofia cultural do DevOps
16. A integração contínua é uma prática de desenvolvimento de software em que os desenvolvedores, com frequência, juntam suas alterações
de código em um repositório central. Depois disso, criações e testes são executados. Os principais objetivos da integração contínua são
encontrar e investigar erros mais rapidamente, melhorar a qualidade do software e reduzir o tempo necessário para validar e lançar novas
atualizações de software.
Integração contínua
Distribuição contínua
Microsserviços
Práticas de DevOps
A entrega contínua é uma prática de desenvolvimento de software em que alterações de código são criadas, testadas e preparadas
automaticamente para liberação para produção. Ela expande com base na integração contínua ao implantar todas as alterações de código
em um ambiente de teste e/ou ambiente de produção, após o estágio de criação. Quando a integração contínua for implementada
adequadamente, os desenvolvedores sempre terão um artefato de criação pronto para ser implantado, e que passou por um processo de
teste padronizado.
Opere rapidamente enquanto mantém o controle e preserva a conformidade. Você pode adotar o modelo de DevOps sem sacrificar a
segurança usando políticas de conformidade automáticas, controles minuciosos e técnicas de gerenciamento de configuração. Por
exemplo, usando a infraestrutura e a política como código, você pode definir e, então, rastrear a conformidade em escala.
Infraestrutura como código
A infraestrutura como código é uma prática em que a infraestrutura é provisionada e gerenciada usando técnicas de desenvolvimento de
código e software, como controle de versão e integração contínua. O modelo controlado por API da nuvem permite que desenvolvedores e
administradores de sistema interajam com a infraestrutura de modo programático e em escala, em vez de precisarem instalar e configurar
manualmente os recursos. Portanto, os engenheiros podem fazer a interface com a infraestrutura usando ferramentas baseadas em
código e tratá-la de modo similar ao código do aplicativo. Como são definidos por código, infraestrutura e servidores podem ser
implantados rapidamente usando padrões normativos, atualizados com os patches e as versões mais recentes ou duplicados de modos
repetidos.
19. Como um servidor de automação extensível, Jenkins pode ser
usado como um servidor de CI simples ou virado para dentro
do cubo entrega contínua para qualquer projeto.
1
3
5
Jenkins pode ser facilmente instalado e configurado através
de sua interface web, que inclui verificações de erro on-the-
fly e ajuda embutido.
Jenkins pode ser estendido através da sua arquitetura de
plugins, proporcionando quase infinitas possibilidades para o
que Jenkins pode fazer.
Integração Contínua e de Distribuição Contínua
Fácil configuração
Extensível
Jenkins é um programa baseado em Java independente,
pronto para executar out-of-the-box, com pacotes para
Windows, Mac OS X e outros sistemas operacionais Unix-like.
2
4
6
Com centenas de plugins no Centro Update, Jenkins integra
com praticamente todas as ferramentas na integração
contínua e toolchain entrega contínua.
Jenkins pode facilmente distribuir o trabalho entre várias
máquinas, ajudando unidade constrói, testes e
implementações em múltiplas plataformas mais rápidas.
Instalação fácil
Muitos plugins
Distribuído
20. 2
Jenkins é um servidor de automação de código aberto com um
ecossistema de encaixe sem precedentes que apoiar praticamente
todas as ferramentas como parte de suas tubulações de entrega.
Jenkins 2 traz Pipeline como código, uma nova experiência de
instalação e outras melhorias de interface do usuário ao mesmo
tempo, mantendo total compatibilidade para trás com instalações
Jenkins existentes.
Lançamento da Release LTS (2.7.1) Programada para 07/07/2016
21. 2
Kohsuke Kawaguchi é o criador do projeto Hudson CI Open Source,
ainda quando trabalhava na Sun Microsystem, a qual
posteriormente foi comprada pela Oracle Inc.
Logo após a compra da Sun Microsystem a Oracle quis transformar
o Hudson Ci em um projeto fechado, ou sejá ir de contra a filosofia
open source da comunidade que o mantinha, junto ao Kohsuke
Kawaguchi.
Logo Kohsuke Kawaguchi deixou a Oracle e fez um Fork do Hudson
no Github, chamando-o de Jenkins CI Open Source.
Hoje o Hudson praticamente está morto, e Jenkins cresce mais a
cada ano. Ao longo dos anos, apos mais de 600 atualizações Jenkins
Chega a sua versão 2.0 .