

Seu próximo nível começa aqui
Com a Assinatura Ilimitada, você tem tudo que precisa para sua aprovação.
Com a Assinatura Ilimitada, você combina prática, teoria e método em uma única assinatura com tudo que você precisa para sua aprovação.
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:

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:
Apenas as afirmativas I, II, III e IV estão corretas.
Apenas as afirmativas I, II, III e V estão corretas.
Apenas as afirmativas II, III e V estão corretas.
Apenas as afirmativas I, II e IV estão corretas.
O pipeline de CI/CD consiste em duas etapas sequenciais: implantação rápida em produção e posterior integração com os demais serviços.
Certo
Errado
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:
Apenas as afirmativas I e II estão corretas.
Apenas as afirmativas I, II e III estão corretas.
Apenas as afirmativas I, III e IV estão corretas.
Apenas as afirmativas II e III estão corretas.
A automação de tarefas operacionais por meio de scripts é um pilar fundamental para a implementação bem-sucedida de práticas de DevOps, especialmente na construção de pipelines de Integração Contínua e Entrega Contínua (CI/CD). Considerando o uso de scripts para a automação de builds, testes e deploys, assinale a afirmativa correta.
Os scripts de automação devem estar fortemente acoplados ao Ambiente de Desenvolvimento Integrado (IDE) de cada desenvolvedor, assegurando que o servidor de CI reproduza com exatidão as configurações locais da máquina onde o código foi criado.
Ferramentas de build (como Maven, Gradle ou Ant), quando integradas a um pipeline de CI/CD, são utilizadas para automatizar um processo repetível e consistente que compila o código-fonte e executa testes automatizados, gerando um artefato validado e pronto para ser implantado nos ambientes subsequentes.
A adoção de scripts em pipelines de CI/CD tem como objetivo principal transferir a execução de testes automatizados e compilações diretamente para o ambiente de produção, eliminando a necessidade de manter ambientes intermediários de teste e homologação.
Na automação de ambientes de CI/CD, os scripts responsáveis por alterações de banco de dados (DDL e DML) devem ser mantidos fora do sistema de controle de versão para garantir a segurança da informação e evitar que a integração contínua corrompa os dados.
A integração contínua exige a execução manual dos scripts de build uma vez por semana pelos administradores de sistemas, visando agrupar o máximo de mudanças possíveis e reduzir a sobrecarga nos servidores de integração.
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.
Certo
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.
Certo
Errado
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:
II apenas.
III apenas.
I, II e III.
I e II apenas.
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.
Executar testes apenas no ambiente de produção, pois o comportamento real do sistema só pode ser avaliado após a implantação.
Integrar alterações diretamente no branch principal sem validações, evitando atrasos e priorizando velocidade de entrega.
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.
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.
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.
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.
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.
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.
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.
Um pipeline de CI/CD (continuous integration/continuous delivery) refere-se a um processo de desenvolvimento de software que se caracteriza por:
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.
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.
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.
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.
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 implementação de pipelines de CI/CD (Continuous Integration/Continuous Delivery) para automatizar a compilação, os testes e a implantação do software.
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.
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.
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.
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.
Certo
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.
Certo
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
testes de aceitação somente após implantação final.
testes de carga apenas em ambiente de desenvolvimento.
pipeline CI/CD automatizado com testes integrados.
deploy automatizado com checklist.
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 é
executar periodicamente um comando docker build em servidor dedicado, observando eventos de versionamento no repositório.
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.
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.
definir um arquivo de pipeline declarativo no repositório, como .github/workflows/ci.yml ou .gitlab-ci.yml, descrevendo jobs automatizados.
habilitar webhooks no repositório para notificar desenvolvedores sobre novos commits, delegando a execução de build e testes a cada membro da equipe.
No Extreme Programming (XP), a prática na qual os desenvolvedores mesclam suas alterações de código-fonte em um repositório central, disparando testes automatizados a cada modificação para detectar erros o mais rápido possível, denomina-se:
Implantação contínua.
Integração contínua.
Publicação contínua.
Validação de código-fonte.
Validação da entrega.
Nas esteiras de DevOps, a integração contínua (CI) representa a etapa final do ciclo, sendo a responsável por fazer a implantação automática da aplicação em produção, sem a necessidade de processos de build ou testes prévios.
Certo
Errado
DevOps é uma cultura e abordagem cultural que une as equipes de desenvolvimento (Dev) e operações (Ops) para acelerar a entrega de software, aumentar a confiabilidade e melhorar a colaboração.
O objetivo principal é quebrar os "silos" organizacionais, promovendo automação, compartilhamento de responsabilidades e ciclos de feedback mais rápidos.
Assim, CI/CD (CI - Continuous Integration/CD - Continuous Delivery) surge como a base técnica e prática indispensável para viabilizar os objetivos do DevOps.
Nesse contexto, faça a associação correta entre os conceitos listados a seguir e suas características.
1. CI
2. CD
( ) Entrega automática para produção ou staging.
( ) Build automático.
( ) Testes automáticos.
( ) Uma de suas variações admite aprovação humana.
Assinale a opção que apresenta a associação correta, segundo a ordem apresentada.
2, 1, 1 e 2.
1, 2, 1 e 1.
2, 2, 2 e 1.
1, 1, 2 e 2.
2, 2, 1 e 1.
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.
Continuous Delivery / Continuous Deployment
Integração Contínua / Continuous Delivery
Testes Contínuos / Deployment Contínuo
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.
Gerenciar exclusivamente repositórios Git locais sem suporte à colaboração em nuvem.
Criar pipelines de integração e entrega contínua (CI/CD) integradas com versionamento de código-fonte.
Substituir servidores de aplicação e bancos de dados por containers permanentes.
Monitorar redes físicas de servidores e aplicar atualizações automáticas de sistema operacional.
Realizar backups incrementais automatizados de discos físicos em infraestrutura local.