Buscar

Devops Desafio Fundamentos Jenkis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Fundamentos do Jenkins
Desafio
Antes da integração contínua, as equipes de desenvolvimento trabalhavam de forma isolada por um longo período e, na hora de juntar as alterações, identificavam diversos problemas, e perdia-se muito tempo. Isso fazia com que as empresas levassem muito mais tempo para disponibilizar novas funcionalidades aos usuários. Nesse contexto, é necessário adotar uma ferramenta de integração contínua capaz de ajudar os membros da equipe a automatizarem atividades ao longo do processo de desenvolvimento.
Ilustração
Com base nisso, responda às questões a seguir:
a. Por que o uso da ferramenta Jenkins é altamente recomendado nessa situação?
b. Quais vantagens a empresa teria ao adotá-la?
c. Quais plugins do Jenkins você deveria sugerir que fossem utilizados para auxiliar nas atividades e atender às necessidades específicas da equipe de desenvolvimento? Justifique sua escolha.
Padrão de resposta esperado
a. O Jenkins é uma ferramenta de integração contínua, que permite que os membros da equipe sejam capazes de executar a compilação de projetos e de fazer testes automatizados sempre que realizarem commits para seu repositório de códigos, tudo de forma automatizada. Em casos de erro, ainda é possível configurar o envio de alertas para os envolvidos no projeto. Com o Jenkins, também é possível automatizar o deploy da aplicação, evitando os problemas e falhas gerados pelo deploy manual. É possível também configurá-lo para trabalhar de forma integrada com diversas ferramentas, como GitHub, Bitbucket, Google Code, Kubernetes, Swarm, JUnit, Selenium e outras tantas, por meio de plugins. Nesse contexto, o Jenkins é altamente recomendado porque vai impactar significativamente no desenvolvimento de melhor qualidade do software.
b. Algumas vantagens do uso do Jenkins são:
- É uma ferramenta open source com ótimo suporte da comunidade.
- É muito fácil de ser instalado e configurado.
- Tem mais de 1.500 plugins para facilitar o trabalho. Se um plugin não existir, você poderá codificá-lo e compartilhá-lo com a comunidade.
- Apresenta grande vantagem para empresas que desejam atender rapidamente as demandas de seus usuários.
- É gratuito.
- É construído com Java e, portanto, é portátil para todas as principais plataformas.
- Possibilita a diminuição do tempo necessário para lançar atualizações do produto na empresa.
- As práticas de integração e entrega contínua do Jenkins permitem que o trabalho/retrabalho da equipe de desenvolvimento seja minimizado, reduzindo erros e viabilizando a disponibilização do software em ciclos menores.
c. Alguns plugins que poderiam ser indicados incluem: 
- Plugin Monitoring: porque monitora o desempenho do Jenkins com JavaMelody. Com ele, é possível visualizar gráficos sobre memória, CPU, carga do sistema e estatísticas de solicitações http.
- Plugin Metrics: porque fornece “verificações de saúde”, expondo a API do Dropwizard com o intuito de obter métricas para mantê-lo informado sobre o que está acontecendo em tempo real, retornando um status de PASS/FAIL. Por meio dele, é possível verificar o status do espaço em disco, plugins (se eles falharam ao iniciar, por exemplo), espaço temporário no Jenkins, deadlock e diferentes métricas, como histograma e timer.
- Plugin Perfomance: porque gera relatórios de ferramentas de testes populares, como JMeter, Gatling, Selenium, JUnit, Taurus, entre outros. Esse plugin gera gráficos a partir desses relatórios de tendências de desempenho e robustez. Com base nisso, ele define o status da build como correta, instável ou falha.
- Plugin Bootstrapped-multi-test-result-report: porque possibilita a geração de um relatório HTML dos resultados de um teste automatizado em diversas ferramentas, como Cucumber, TestNG, Junit e RSpec. Com esse plugin, é possível gerar relatórios interativos para se ter uma ideia geral de todos os resultados e detalhes dos status de cada etapa.
- Plugin Subversion: porque adiciona o suporte ao SVN no Jenkins. Com esse plugin, é possível pesquisar alterações de um ou vários repositórios e fazer uma filtragem mais detalhada nas alterações recebidas.

Continue navegando