Questões de Concurso sobre Continuous Integration e Continuous Delivery.

 
 
Disciplina
Assunto 1
Banca
Instituição
Cargo
Ano
Carreira
Área de formação
Escolaridade
Dificuldade
 
Comentários:
Professores
Alunos
Meus Comentários
Vídeo
 
Minhas questões:
Resolvidas
Não resolvidas
Certas
Erradas
 
Tipo de questão:
Certo e errado
Múltipla escolha
Incluir questões:
Anuladas
Desatualizadas
 
Questões:
Todas as questões
 
Filtro simplificado
 
Questões
Todas as questões
 
155 questões encontradas
Questões por página
20
Mais recentes
 

Considere a seguinte situação hipotética:


Uma equipe de desenvolvimento mantém um sistema corporativo, utilizando Git e pipelines CI/CD automatizados. O pipeline é definido em um arquivo YAML versionado no próprio repositório e contém as seguintes etapas:


Imagem associada para resolução da questão

Fonte: dados do elaborador


Durante o desenvolvimento, a equipe decide integrar um branch de funcionalidades (feature/login) no branch principal (main). Existem dois caminhos possíveis:


1. git merge feature/login : cria um commit de merge, preservando o histórico do branch de funcionalidades.

2. git rebase main feature/login : reaplica os commits do branch de funcionalidades sobre o branch main, criando um histórico linear.


Com base nesse cenário e nos conceitos de DevOps, CI/CD e controle de versão com Git, analise as afirmativas a seguir:


I. A configuração apresentada no arquivo YAML caracteriza um pipeline de integração contínua, pois alterações integradas ao repositório podem acionar automaticamente as etapas de build e testes, ainda que o deploy dependa de aprovação manual.

II. O uso de git merge preserva o histórico completo do branch de funcionalidades, incluindo divergências e commits paralelos, mas pode gerar múltiplos commits de merge que poluem o histórico.

III. O uso de git rebase permite criar um histórico linear ao reaplicar commits sobre outro branch, porém essa operação reescreve o histórico dos commits, podendo causar inconsistências, caso o branch já tenha sido compartilhado com outros desenvolvedores.

IV. A configuração when: manual no job de deploy indica que a etapa de implantação depende de intervenção humana, caracterizando um processo típico de Continuous Deployment, e não de Continuous Delivery.

V. Definir pipelines CI/CD em arquivos YAML versionados no próprio repositório permite que o processo de automação seja rastreável e auditável, o que possibilita o controle de versões também sobre as mudanças no pipeline.


Assinale a alternativa CORRETA:


A

Apenas as afirmativas I, II, III e IV estão corretas.


B

Apenas as afirmativas I, II, III e V estão corretas.


C

Apenas as afirmativas II, III e V estão corretas.


D

Apenas as afirmativas I, II e IV estão corretas.

Considere a seguinte situação hipotética:


Uma equipe de desenvolvimento adotou práticas de DevOps em um sistema corporativo. O fluxo definido estabelece que todo o código é versionado em Git, e que a cada push para o repositório remoto é executado automaticamente um pipeline de CI/CD.


Nesse pipeline são realizadas etapas de build, testes automatizados e análise estática de código. Caso todas as etapas sejam concluídas com sucesso, o artefato gerado é automaticamente implantado em ambiente de homologação.


Com base nos conceitos de integração contínua, entrega contínua e automação de pipelines, analise as afirmativas a seguir.


I. A integração contínua (continuous delivery) consiste na prática de integrar alterações de código com frequência em um repositório compartilhado, em que builds e testes automatizados são executados para detectar falhas precocemente no processo de desenvolvimento.

II. A entrega contínua (continuous delivery) pressupõe que o sistema esteja sempre em um estado potencialmente implantável em produção, embora a liberação final para produção dependa de uma aprovação manual.

III. Em pipelines de CI/CD, ferramentas como GitHub Actions e GitLab CI/CD permitem definir workflows ou pipelines automatizados por meio de arquivos de configuração versionados no próprio repositório do projeto.

IV. A cultura DevOps enfatiza a automação de processos de build, teste e deploy, reduzindo a necessidade de interação entre equipes de desenvolvimento e operações ao longo do ciclo de entrega de software.


Assinale a alternativa CORRETA:


A

Apenas as afirmativas I e II estão corretas.


B

Apenas as afirmativas I, II e III estão corretas.


C

Apenas as afirmativas I, III e IV estão corretas.


D

Apenas as afirmativas II e III estão corretas.

A Integração Contínua e a Entrega Contínua (CI/CD) automatizam as etapas de teste e implantação, reduzindo o tempo entre o desenvolvimento e a produção. Analise as afirmativas a seguir:


I.A Integração Contínua exige que os desenvolvedores integrem seu código em um repositório centralizado frequentemente, disparando processos automáticos de build e teste.

II.A Entrega Contínua garante que o software esteja sempre em estado de implantação, dependendo de uma decisão manual para a ativação efetiva no ambiente de produção.

III.O controle de mudanças veda a alteração de códigos já aprovados, exigindo que novas funcionalidades sejam desenvolvidas em repositórios de armazenamento fisicamente isolados.


Está correto o que se afirma em:


A

II apenas.


B

III apenas.


C

I, II e III.


D

I e II apenas.

Um pipeline de CI/CD (continuous integration/continuous delivery) refere-se a um processo de desenvolvimento de software que se caracteriza por:


A

CI encorajar o uso de repositórios distintos para evitar interferência entre as diferentes tarefas de desenvolvimento em um projeto, com integração frequente dos repositórios e uso de testagem automática para garantir a ausência de erros, enquanto CD requer o empacotamento e deployment automáticos para reduzir o impacto de mudanças.


B

CI envolver o uso de um repositório compartilhado, com automação de build e testagem a cada commit, enquanto CD envolve o empacotamento automático de cada build bem-sucedida, gerando uma nova release e deixando-a pronta para implantação (deployment) nos diferentes ambientes de produção.


C

CI requerer a realização contínua e automática de testes de integração para garantir que mudanças no código-fonte realizadas nos diferentes ramos (branches) do repositório não comprometam o comportamento correto dos componentes do sistema, enquanto CD envolve a implantação em ambiente de produção para a realização de testes em ambiente real.


D

CI determinar o emprego de testes unitários automáticos, eliminando a necessidade de testes manuais e garantindo que o comportamento do sistema permaneça correto após cada mudança, enquanto CD implica a realização automática de testes de integração após cada build e o subsequente empacotamento para deployment.

A adoção de práticas DevOps busca reduzir o tempo entre a mudança no código e a disponibilização confiável em produção, promovendo colaboração entre desenvolvimento e operações. Nesse contexto, pipelines de CI/CD automatizam etapas como compilação, testes, análise de qualidade e implantação, diminuindo erros humanos e aumentando previsibilidade do processo de entrega, especialmente em equipes que trabalham com mudanças frequentes no back-end.


Considere uma equipe que mantém uma API back-end com atualizações semanais. A equipe deseja reduzir falhas em produção e garantir que cada alteração enviada ao repositório passe por validações automáticas antes de ser implantada.


Assinale a alternativa que descreve corretamente uma prática coerente com CI/CD para atingir esse objetivo, minimizando riscos e retrabalho.


A

Executar testes apenas no ambiente de produção, pois o comportamento real do sistema só pode ser avaliado após a implantação.


B

Integrar alterações diretamente no branch principal sem validações, evitando atrasos e priorizando velocidade de entrega.


C

Configurar um pipeline que, a cada commit, execute build e testes automatizados e, após aprovação, realize a entrega automatizada para um ambiente-alvo.


D

Substituir versionamento por envio manual de arquivos ao servidor, reduzindo dependência de ferramentas e simplificando o processo.

O GitLab CI/CD é uma solução de integração e entrega contínua que utiliza arquivos de configuração declarativos para automatizar processos de build, teste e implantação de software diretamente no repositório. Diante disso, assinale a alternativa CORRETA sobre o funcionamento e os conceitos do GitLab CI/CD.


A

No GitLab Cl/CD, o arquivo .gitlab-ci.yml define os stages e jobs do pipeline; por padrão, jobs de um mesmo stage são executados em paralelo, enquanto stages diferentes são executados em sequência, respeitando a ordem declarada.


B

No GitLab CI/CD, o arquivo de configuração do pipeline é denominado Jenkinsfile e deve estar localizado na raiz do repositório, contendo a definição dos stages, jobs e regras de acionamento do processo de integração contínua.


C

No GitLab CI/CD, os jobs definidos em um mesmo stage são executados de forma sequencial, aguardando a conclusão de cada job antes de iniciar o seguinte, garantindo a ordem de execução dentro do estágio.


D

Os artefatos (artifacts) no GitLab CI/CD são arquivos gerados por um job que ficam disponíveis durante a execução do stage em que foram criados, sendo descartados automaticamente ao término do estágio que os produziu.


E

O mecanismo de cache e os artefatos no GitLab CI/CD possuem a mesma função: ambos transferem arquivos entre jobs dentro de um mesmo pipeline, podendo ser utilizados de forma intercambiável conforme a conveniência da equipe.

Em pipelines de integração contínua, exige-se intervenção manual para o início de cada etapa do processo de build e testes após uma alteração no código-fonte, a fim de se evitarem erros em commits de código por parte do desenvolvedor.


C

Certo


E

Errado

A abordagem CI/CD visa otimizar e acelerar o ciclo de vida do desenvolvimento de software, combinando a integração automática e frequente de alterações ao repositório por meio da integração contínua, com processos automatizados de testes, entrega e implantação que conduzem a mudanças no ambiente de produção, assegurando agilidade e qualidade.


C

Certo


E

Errado

No contexto da cultura DevOps, a automação de processos é um pilar essencial para acelerar a entrega de software.


Qual das seguintes práticas representa um componente central da automação em DevOps, focando na integração contínua de código e na entrega contínua de novas versões?


A

A implementação de pipelines de CI/CD (Continuous Integration/Continuous Delivery) para automatizar a compilação, os testes e a implantação do software.


B

A atdoção exclusiva de metodologias de desenvolvimento em cascata, priorizando um planejamento detalhado e sequencial como principal estratégia para garantir previsibilidade e controle do processo de desenvolvimento.


C

A utilização de um sistema de controle de versão centralizado, como o SVN, com foco na estabilidade do código-fonte, independentemente de práticas de integração e entrega contínuas.


D

A separação estrita e rígida das responsabilidades entre as equipes de desenvolvimento e operações, mantendo estruturas organizacionais isoladas como forma de preservar a segurança e o controle do ambiente.


E

A realização de testes de software exclusivamente manuais ao final de cada ciclo de desenvolvimento, concentrando a validação da qualidade apenas na fase final do processo.

Ferramentas de automação como Jenkins e GitHub Actions permitem implementar pipelines de integração contínua e entrega contínua por meio da execução automática de etapas como compilação, testes e implantação de aplicações após alterações no repositório de código.


C

Certo


E

Errado

Em um pipeline de CI/CD, a eficácia da integração contínua fundamenta-se na execução automatizada de builds e testes, visando assegurar que o código integrado ao ramo principal (main branch) permaneça em um estado tecnicamente implantável, de modo a mitigar riscos de instabilidade a cada nova alteração.


C

Certo


E

Errado

Uma equipe de TI objetiva reduzir o ciclo entre desenvolvimento e produção de aplicações cloud-native com entrega contínua e confiável.


Nessa situação, para atender à necessidade mencionada, a prática mais recomendada é a aplicação de


A

testes de aceitação somente após implantação final.


B

testes de carga apenas em ambiente de desenvolvimento.


C

pipeline CI/CD automatizado com testes integrados.


D

deploy automatizado com checklist.


E

testes de usuário apenas no final do projeto.

Uma equipe de desenvolvimento mantém uma aplicação web conteinerizada e versionada em um repositório Git hospedado no GitHub. A equipe deseja implementar uma prática de Integração Contínua e Entrega Contínua (CI/CD) para que,a cada push realizado na branch main, sejam executados automaticamente: (i) build da imagem Docker, (ii) execução de testes automatizados e (iii) publicação da imagem validada em um registry, com posterior deploy em ambiente de homologação. Considerando o uso de GitHub Actions ou GitLab Cl como ferramentas de automação, a abordagem tecnicamente adequada para implementar esse fluxo é


A

executar periodicamente um comando docker build em servidor dedicado, observando eventos de versionamento no repositório.


B

configurar um ambiente de homologação permanente com atualização manual da aplicação em situações que o time considerar que a versão está estável.


C

configurar um script local de build e testes executado manualmente pelo desenvolvedor antes de cada commit, mantendo o repositório como armazenamento de código-fonte.


D

definir um arquivo de pipeline declarativo no repositório, como .github/workflows/ci.yml ou .gitlab-ci.yml, descrevendo jobs automatizados.


E

habilitar webhooks no repositório para notificar desenvolvedores sobre novos commits, delegando a execução de build e testes a cada membro da equipe.

Analise as assertivas abaixo sobre os processos de Integração Contínua e Entrega Contínua (CI/CD) na abordagem DevOps.


I. A CI é uma prática de desenvolvimento de software em que os desenvolvedores comumente juntam suas alterações de código em um repositório central.

II. A CD é uma prática de desenvolvimento de software em que as alterações de código, antes do lançamento em produção, são preparadas por um especialista em implantação, não sendo possível que esse processo seja autossuficiente.

III. Um pipeline de CI/CD é um fluxo de trabalho automatizado que simplifica o processo de entrega de software, permitindo que o ciclo de vida do DevOps aconteça.


Quais estão corretas?


A

Apenas I.


B

Apenas II.


C

Apenas I e III.


D

Apenas II e III.


E

I, II e III.

Um pipeline de Integração Contínua/Entrega Contínua (CI/CD) é um processo para fazer o deploy de software de forma automatizada para os usuários. Qual das seguintes sequências representa a ordem mais lógica e comum das etapas (stages) em um pipeline de CI/CD?


A

Test → Deploy → Build.


B

Build → Deploy → Test.


C

Deploy → Build → Test.


D

Build → Test → Deploy.


E

Test → Build → Deploy.

No contexto de DevOps, enquanto a ______ foca na automação do processo de construção, teste e integração de código-fonte de múltiplos desenvolvedores em um repositório compartilhado de forma frequente para detectar problemas precocemente, a ______ estende essa automação para garantir que o software esteja sempre em um estado implantável em produção a qualquer momento, automatizando os estágios até a prontidão para entrega. Assinale a alternativa que preencha correta e respectivamente as lacunas.


A

Continuous Delivery / Continuous Deployment


B

Integração Contínua / Continuous Delivery


C

Testes Contínuos / Deployment Contínuo


D

Quality Assurance / Continuous Integration

Uma equipe de desenvolvimento de software está migrando para uma abordagem DevOps e pretende utilizar o GitLab como plataforma principal de versionamento e automação de pipeline CI/CD. Considerando o uso da ferramenta GitLab no contexto de infraestrutura de software moderna, assinale a alternativa que contém uma de suas principais funcionalidades integradas.


A

Gerenciar exclusivamente repositórios Git locais sem suporte à colaboração em nuvem.


B

Criar pipelines de integração e entrega contínua (CI/CD) integradas com versionamento de código-fonte.


C

Substituir servidores de aplicação e bancos de dados por containers permanentes.


D

Monitorar redes físicas de servidores e aplicar atualizações automáticas de sistema operacional.


E

Realizar backups incrementais automatizados de discos físicos em infraestrutura local.

A integração e implantação contínua (CI/CD) têm sido bastante utilizadas para possibilitar o desenvolvimento ágil de software. Sobre essas práticas, assinale a afirmação verdadeira.


A

Elas garantem que o código está seguro e livre de vulnerabilidades que poderiam ter sido adicionadas durante o desenvolvimento.


B

Com o CD, o código novo é frequentemente integrado no branch principal, sem ainda estar pronto para produção.


C

Elas reduzem bastante a quantidade de código necessário para o desenvolvimento dos sistemas.


D

As práticas de CI/CD permitem a redução do tempo de entrega de novas funcionalidades.


E

A integração contínua faz com que todo novo commit que chega no master entre rapidamente em produção.

Uma equipe de desenvolvimento de software está adotando práticas de DevOps para melhorar a qualidade e a velocidade das entregas. Para isso, decidiram implementar um pipeline CI/CD, garantindo que todas as alterações de código sejam testadas e implantadas automaticamente. No fluxo definido, o pipeline segue as etapas:


1. O código é enviado para o repositório remoto, acionando o pipeline.

2. O código é analisado e testado por ferramentas automatizadas.

3. Se os testes passarem, um build é gerado e enviado para o ambiente de staging.

4. O código é revisado e validado antes de ser implantado em produção.


Após algumas execuções do pipeline, a equipe percebeu que, quando há falha nos testes automatizados, o código não é promovido para a próxima etapa. Além disso, alguns da equipe querem que a implantação em produção ocorra automaticamente, enquanto outros preferem que seja necessária uma aprovação manual.


Com base no cenário apresentado, assinale a alternativa correta.


A

Um pipeline CI/CD bem configurado deve sempre implantar, automaticamente, todas as versões do código na produção, independentemente de erros encontrados nos testes.


B

A implantação contínua exige que todas as atualizações passem por uma aprovação manual antes de serem enviadas para produção.


C

A fase de integração contínua tem como objetivo validar e testar, automaticamente, o código após cada alteração, impedindo a progressão de código defeituoso.


D

O uso de um pipeline CI/CD torna desnecessário o controle de versões, pois todas as alterações são gerenciadas, automaticamente, pela ferramenta de integração.


E

Se um erro for encontrado em produção, o pipeline CI/CD, automaticamente, desfaz a última alteração sem necessidade de intervenção manual.

 
 
Gerar simulado