Questão de Engenharia de Software — Desenvolvimento de Software — FCC 2022
Engenharia de Software›Desenvolvimento de Software
Código
fc063843
Banca
FCC
Órgão
TJ-CE
Ano
2022
Cargo
Analista Judiciário - Ciência da Computação - Sistemas da Informação
Considere duas ferramentas 1 e 2 que permitem a criação de workflows e criam, testam, publicam, fazem o release e implantam código automaticamente.— Similaridades entre as ferramentas 1 e 2 para a configuração de workflow: os arquivos são escritos em YAML e armazenados no repositório; workflows incluem um ou mais jobs; jobs incluem um ou mais passos ou comandos individuais; passos ou atividades podem ser reutilizados ou compartilhados com a comunidade.— Diferenças principais ao se fazer a migração da ferramenta 1 para a ferramenta 2: o paralelismo de teste automático da ferramenta 1 agrupa automaticamente os testes de acordo com as regras especificadas pelo usuário ou informações históricas de tempo e essa funcionalidade não está incorporada na ferramenta 2.— Ao fazer a migração de workflows: a ferramenta 1 define workflows no arquivo config. yml, que permite configurar mais de um workflow. A ferramenta 2 requer um arquivo de workflow para cada workflow e será necessário criar um novo arquivo de workflow para cada workflow configurado em config. yml.Pelas características apresentadas, as ferramentas 1 e 2 correspondem, correta e respectivamente, a
ADocker e Jenkins.
BCircleCl e GitHub Actions.
CMaven e Kubemeis.
DDocker e Selenium.
ECircleCl e Jenkins.
Revelar gabarito e comentário▾
GabaritoB — CircleCl e GitHub Actions.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
Ferramentas de CI/CD: CircleCI e GitHub Actions
Gabarito: letra B. A ferramenta 1 é o CircleCI e a ferramenta 2 é o GitHub Actions. A descrição do enunciado aponta exatamente as características dessas duas plataformas: no CircleCI, os workflows são definidos em um único arquivo config.yml e há suporte nativo a paralelismo de testes com divisão automática baseada em regras ou histórico; já no GitHub Actions, cada workflow exige um arquivo YAML separado no diretório .github/workflows e a divisão de testes paralelos não é embutida (requer configuração manual ou ação de terceiros).
A questão cobra o conhecimento das particularidades de duas ferramentas populares de CI/CD. Vamos analisar as alternativas:
Característica
Ferramenta 1 (CircleCI)
Ferramenta 2 (GitHub Actions)
Arquivo de configuração
Único arquivo config.yml no diretório .circleci/
Arquivos YAML separados no diretório .github/workflows/
Paralelismo automático de testes
Sim, com divisão automática baseada em regras ou histórico
Não incorporado nativamente (requer configuração manual ou ação de terceiros)
Formato dos arquivos
YAML
YAML
Armazenamento dos arquivos
No repositório
No repositório
Estrutura de workflows
Workflows definidos no config.yml
Cada workflow em arquivo YAML separado
Componentes
Workflows → Jobs → Steps/Comandos
Workflows → Jobs → Steps/Comandos
Reutilização de passos
Sim, compartilháveis com a comunidade
Sim, compartilháveis com a comunidade
Alternativa A — ❌ Incorreta
Docker é uma plataforma de contêineres, não de criação de workflows CI/CD; Jenkins usa arquivos Jenkinsfile (groovy) e não é configurado unicamente em YAML no repositório da forma descrita.
Alternativa B — ✅ Correta ⟵ GABARITO
CircleCI (ferramenta 1) usa .circleci/config.yml para definir múltiplos workflows e possui paralelismo automático de testes por histórico. GitHub Actions (ferramenta 2) requer um arquivo .yml por workflow em .github/workflows e não oferece divisão automática de testes embutida.
Alternativa C — ❌ Incorreta
Maven é uma ferramenta de build e gerenciamento de dependências Java; Kubernetes é um orquestrador de contêineres — nenhum dos dois se encaixa na descrição de criação de workflows CI/CD com configuração YAML e paralelismo de testes.
Alternativa D — ❌ Incorreta
Docker (contêineres) e Selenium (automação de testes) não são ferramentas de workflow CI/CD como descrito.
Alternativa E — ❌ Incorreta
CircleCI (correto para ferramenta 1) com Jenkins: Jenkins não usa arquivos YAML por workflow separados — seu pipeline é definido em Jenkinsfile (Groovy) ou via interface web. Além disso, Jenkins não possui o recurso nativo de paralelismo automático de testes por histórico do CircleCI.
PEGA ESSA DICA!
Ao estudar ferramentas de CI/CD, foque nas diferenças de configuração: CircleCI centraliza workflows em um único config.yml, enquanto GitHub Actions exige arquivos separados. O paralelismo de testes automático é um diferencial do CircleCI (test splitting baseado em timing) que não vem nativo no GitHub Actions.