Magna Concursos
4178671 Ano: 2026
Disciplina: TI - Desenvolvimento de Sistemas
Banca: UFLA
Orgão: UFLA
Provas:

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: 

stages:
  - build
  - test
  - deploy

build-job:
  stage: build
  script:
    - echo "Compilando aplicação..."
    - ./build.sh

test-job:
  stage: test
  script:
    - echo "Executando testes unitários..."
    - ./run_tests.sh

deploy-job:
  stage: deploy
  script:
    - echo "Publicando artefato em ambiente de homologação..."
    - ./deploy.sh
  when: manual

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:

 

Provas

Questão presente nas seguintes provas

Analista de TI

70 Questões