Text Material Preview
CI-CD (Continuous Integration-Continuous Delivery) O que caracteriza o conceito de CI/CD (Integracao Continua/Entrega Continua)? a) A implementacao de novos recursos a cada versao do software b) A pratica de integrar e testar codigo automaticamente durante o desenvolvimento, com entrega continua de novas versoes c) A utilizacao de um servidor unico para testes manuais antes do lancamento d) A adocao de uma abordagem exclusiva para desenvolvimento de codigo sem testes automatizados Resposta correta: b) A pratica de integrar e testar codigo automaticamente durante o desenvolvimento, com entrega continua de novas versoes Explicacao: CI/CD envolve a automacao de testes e integracao de codigo, alem de entregar versoes do software de forma continua e eficiente. Qual e o principal beneficio da Integracao Continua (CI)? a) Aumentar o tempo de desenvolvimento de novos recursos b) Automatizar o processo de testes e reduzir erros de integracao c) Aumentar a complexidade dos testes de software d) Reduzir a quantidade de codigo necessario para os testes Resposta correta: b) Automatizar o processo de testes e reduzir erros de integracao Explicacao: O CI facilita a integracao do codigo de todos os desenvolvedores ao repositorio de forma automatica, com a execucao de testes para evitar falhas. Em uma pipeline CI/CD, o que significa a pratica de entrega continua (CD)? a) O processo de integrar o codigo constantemente no repositorio b) O lancamento automatico de versoes do software para producao, uma vez que o codigo passou pelos testes c) A criacao de novos recursos em ambientes de desenvolvimento d) O ajuste manual de configuracoes de producao para cada versao lancada Resposta correta: b) O lancamento automatico de versoes do software para producao, uma vez que o codigo passou pelos testes Explicacao: A entrega continua refere-se ao processo de liberar automaticamente as versoes testadas para o ambiente de producao, sem a necessidade de intervencoes manuais. Qual e o papel dos testes automatizados em um pipeline de CI/CD? a) Garantir que o software seja validado de forma manual antes de ser liberado para producao b) Reduzir o tempo necessario para implementar novos recursos c) Validar a integridade e a qualidade do codigo automaticamente durante o ciclo de desenvolvimento d) Realizar uma analise de codigo estatico apenas Resposta correta: c) Validar a integridade e a qualidade do codigo automaticamente durante o ciclo de desenvolvimento Explicacao: Os testes automatizados sao usados para validar continuamente a integridade e a funcionalidade do codigo, garantindo que o software esteja livre de falhas antes de ser liberado. Quais sao as vantagens de adotar uma pipeline CI/CD em uma equipe de desenvolvimento? a) Maior controle manual sobre os testes b) Processos de integracao e entrega mais rapidos e eficientes c) Aumento do numero de testes manuais d) Menor interacao entre desenvolvedores e equipes de operacoes Resposta correta: b) Processos de integracao e entrega mais rapidos e eficientes Explicacao: A automacao da integracao e entrega continua permite que a equipe libere novas versoes de software mais rapidamente, reduzindo os ciclos de feedback e melhorando a eficiencia. O que e uma "pipeline" em um processo CI/CD? a) Um sistema de armazenamento para salvar as versoes anteriores do codigo b) O conjunto de etapas automatizadas que o codigo passa para ser integrado e entregue, como testes, builds e deploys c) Um banco de dados de erros encontrados durante os testes d) A interface de usuario para os desenvolvedores configurarem o servidor de testes Resposta correta: b) O conjunto de etapas automatizadas que o codigo passa para ser integrado e entregue, como testes, builds e deploys Explicacao: A pipeline e a sequencia automatizada de acoes que o codigo segue desde a integracao ate a entrega, passando por etapas como testes, compilacao e deploy. Qual a principal diferenca entre Integracao Continua (CI) e Entrega Continua (CD)? a) CI envolve apenas a automacao de testes, enquanto CD envolve a entrega do software para os usuarios finais b) CI e realizado uma vez por dia, enquanto CD ocorre a cada commit de codigo c) CI e utilizado para automatizar processos manuais, enquanto CD se aplica apenas em projetos grandes d) Nao ha diferenca, ambos significam o mesmo processo Resposta correta: a) CI envolve apenas a automacao de testes, enquanto CD envolve a entrega do software para os usuarios finais Explicacao: CI trata da automacao da integracao e dos testes do codigo, enquanto CD vai alem, automatizando tambem o processo de entrega do software para producao ou outros ambientes. Quais sao as ferramentas mais comuns usadas em pipelines CI/CD? a) Apenas sistemas de controle de versao como Git b) Ferramentas como Jenkins, GitLab CI, Travis CI, CircleCI e Bamboo c) Plataformas de redes sociais para testes colaborativos d) Ferramentas de design de interface para front-end Resposta correta: b) Ferramentas como Jenkins, GitLab CI, Travis CI, CircleCI e Bamboo Explicacao: Ferramentas como Jenkins, GitLab CI, Travis CI e outras sao comumente utilizadas para orquestrar pipelines CI/CD, automatizando todo o fluxo de integracao e entrega do software. O que significa "rollback" em uma pipeline de CD? a) A criacao de um backup do codigo antes da implantacao b) A reversao para uma versao anterior do software, caso ocorra um erro durante o deploy c) A suspensao de todos os testes automatizados durante a entrega d) A geracao de um novo commit no repositorio Resposta correta: b) A reversao para uma versao anterior do software, caso ocorra um erro durante o deploy Explicacao: O rollback e o processo de reverter para uma versao estavel do software, caso o deploy de uma nova versao cause falhas no sistema. Quais sao os principais desafios ao implementar CI/CD em um projeto? a) Alta necessidade de infraestrutura fisica b) Falta de controle manual sobre cada fase do desenvolvimento c) A complexidade na configuracao de pipelines e automacao de testes d) Impossibilidade de trabalhar com grandes volumes de codigo Resposta correta: c) A complexidade na configuracao de pipelines e automacao de testes Explicacao: A configuracao de uma pipeline de CI/CD pode ser desafiadora, pois exige uma automacao eficiente de testes, builds e deploys, alem de uma integracao continua entre diferentes sistemas e ferramentas. Como o CI/CD contribui para a melhoria da qualidade do software? a) Por permitir que o codigo seja lancado sem testes manuais b) Ao garantir que o codigo seja continuamente testado e validado, detectando erros mais cedo c) Por reduzir a quantidade de codigo necessario para testes automatizados d) Por eliminar a necessidade de feedback dos usuarios finais Resposta correta: b) Ao garantir que o codigo seja continuamente testado e validado, detectando erros mais cedo Explicacao: O CI/CD contribui para a qualidade do software ao permitir que erros sejam detectados e corrigidos rapidamente durante o ciclo de desenvolvimento, antes que o codigo seja lancado. O que e "build automation" no contexto de CI/CD? a) A automacao do processo de revisao do codigo fonte b) A criacao automatica de documentacao de codigo c) A automacao da construcao de versoes do software, gerando os artefatos necessarios para testes e deploy d) A configuracao automatica de bancos de dados para o ambiente de producao Resposta correta: c) A automacao da construcao de versoes do software, gerando os artefatos necessarios para testes e deploy Explicacao: Build automation refere-se ao processo automatizado de compilar e criar as versoes do software, tornando mais rapido e confiavel o processo de entrega. Qual e a importancia do controle de versao em um pipeline CI/CD? a) Nao tem impacto direto no fluxo de integracao continua b) Permite que o codigo seja revertido a qualquer momento durante o ciclo de desenvolvimento c) E necessario apenas para a entrega de codigono ambiente de producao d) Serve para armazenar apenas codigo final, nao sendo util para testes Resposta correta: b) Permite que o codigo seja revertido a qualquer momento durante o ciclo de desenvolvimento Explicacao: O controle de versao e fundamental para gerenciar as diferentes versoes do codigo durante o processo de desenvolvimento, alem de possibilitar o rollback de mudancas, caso necessario. Qual e o papel dos "stages" em uma pipeline de CI/CD? a) Eles definem os tipos de erro que um codigo pode apresentar b) Eles sao responsaveis por gerenciar as permissoes dos desenvolvedores c) Eles sao as fases especificas onde as tarefas de integracao e entrega ocorrem, como build, testes e deploy d) Eles representam a interface visual utilizada para mostrar os resultados dos testes Resposta correta: c) Eles sao as fases especificas onde as tarefas de integracao e entrega ocorrem, como